sed(stream editor)是一个文本处理工具,它可以一次处理所有的编辑任务。它不是直接修改文件,而是把文本的内容复制到缓冲区,然后进行编辑,它操作的内容到放到缓冲区里。如果想要保存结果,需要把缓冲区的内容重定向到文件里。
今天学习了sed的一个命令,怎么运行都不通过,很是郁闷,尝试了很久,搞定了。
命令: sed ‘指定地址a\text’ 输入文件
解释:这个命令是向输入文件的指定位置追加文本。如果不指定地址,则默认追加到每一行后面。
下面是我的实际操作:(结果问题出现了) 实践出真知啊!
我用的环境是UNIX 体验中心
我想在sedtestfile文件的6下一行追加文本“sed test”
-bash-3.00$
ls
sedtestfile
-bash-3.00$
cat sedtestfile
1
2
3
4
5
6
7
8
9
0
-bash-3.00$
sed ‘/6/a\sed test’ sedtestfile
sed: command garbled: /6/a\sed test
错误出现了。怎么不能用呢,结果我就各种试啊。是不是那里少了空格啊。怎么弄也不行。
突然灵光一闪。哈哈!成功了!你猜怎么着,原来这样就好用了。
-bash-3.00$
sed ‘/6/a\ (这个时候按下回车,奇迹出现了。)
>sed test (这里输入你想要追加的文本。)
>’ sedtestfile
-bash-3.00$
cat sedtestfile
1
2
3
4
5
6
sed test
7
8
9
0