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