如何将命令输出保存到文本文件的特定行

如何将命令输出保存到文本文件的特定行

我想知道如何将命令输出保存到文本文件的特定行。

我在网上搜索了大约一个小时关于这个问题,但没有找到任何合适的答案。

例如:

我想将某些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行之后。

相关内容