我想知道如何将命令输出保存到文本文件的特定行。
我在网上搜索了大约一个小时关于这个问题,但没有找到任何合适的答案。
例如:
我想将某些ls
命令的输出保存到第 7 行example.txt
。(插入新行)
我该怎么做?
提前致谢。
答案1
您可以使用 sed 的r
命令读取命令输出并将其插入到给定地址之后。具体来说,GNU sed 提供了特殊的文件名/dev/stdin
来从标准输入读取数据。
例如,
$ cat example.txt
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
然后
$ ls -l example.txt | sed -i '7r/dev/stdin' example.txt
结果是
$ cat example.txt
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
-rw-r--r-- 1 steeldriver steeldriver 71 Jun 28 15:52 example.txt
Line 8
Line 9
Line 10
如果你想插入命令输出前第7行,然后读入并插入到第6行之后。