w file 此命令将指定的地址写到 file。如果没有 address,则此命令缺省使用整个缓冲区。
在文件开头插入文本,第二部分
通过可在脚本中使用的 ed 单命令行程序,您可以容易地在文件开头插入文本。插入操作是使用 ed 并通过 a 命令将给定文本追加到第 0 行(文件开头)来完成的:
[root@i src]# cat file
This is the end.
[root@i src]# (echo '0a'; echo 'This is the beginning.'; echo '.'; echo 'wq') | ed -s file
[root@i src]# cat file
This is the beginning.
This is the end.
若要在文件开头插入另一个文件的内容,可以使用 r 命令:
[root@i src]# cat file1
test..
[root@i src]# (echo '0r file1'; echo 'wq') | ed file #-s可以选择静默模式不输出
40
7
47
[root@i src]# cat file
test..
This is the beginning.
This is the end.
在给定字符串之后插入文本
您可以使用 ed 将任何数量的文本行插入文件中任意行之前或之后。若要在第一个包含给定字符串的行之后插入,可以将该字符串包括在斜杠中,并在后面跟着 a 命令以追加随后的文本。与前面一样,各个行使用一个句点结束,并使用 wq 写入文件并退出。
当您希望在文件中的特定位置追加文本块时,此项技术就会派上用场:
[root@i src]# ( echo '/begin/a'; echo 'This is the middle.'; \
> echo '.'; echo 'wq') | ed -s file
[root@i src]#
[root@i src]# cat file
test..
This is the beginning.
This is the middle.
This is the end.
在给定字符串之后插入一个文件:
[root@i src]# (echo '/END OF PART I/r test.txt'; echo 'wq') | ed file
删除尾随空格
通过使用 s 命令并替换一个空替换字符,您可以删除尾随空格:
[root@i src]# cat -vet file
test.. $
This is the beginning. $
This is the middle.$
This is the end.$
test$
[root@i src]# (echo ',s/ *$//'; echo 'wq') | ed -s file
[root@i src]# cat -vet file
test..$
This is the beginning.$
This is the middle.$
This is the end.$
test$