Linux Shell 之 sed (追加文本)

  • Post author:
  • Post category:linux


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



版权声明:本文为qinmi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。