目标需求:
我们经常需要通过命令截取部分的信息,然后处理。但是最后往往需要添加表头,或者是结尾的备注。
我们可以打开文件具体的修改。或者使用vim神器。但是有的时候简单的命令同样是可以的。
开头添加先创建一个文件。
[root@VM-4-4-centos 202210]# cat> test.txt b
> c
> EOF
echo
echo "char" | cat - test.txt
原文件未修改需要将结果重定向。
sedsed '1i xxx' a.txt
可以理解为在第一行之前插入 需要将结果重定向
awkawk 'BEGIN{print "char"} {print $0}' a.txt
$0代表每一行 BEGIN内的内容是不会有行的循环效果的。也就是它的生存周期是所有的行迭代之前。 需要将结果重定向。
末尾添加 echo加>>echo "tail" >> test.txt
原文件改变
sedsed '$a tail' test.txt
$代表末尾 末尾添加一个tail 需要重定向
awkawk '{print $0} END {print "tail"}' test.txt
打印完所有的行之后,最后输出一个tail
总结sed对于文件的增删查改还是很方便的。也比较好记。 awk倾向于编程了。