在单个sed命令中添加文本以启动多个文件

时间:2015-05-06 17:02:38

标签: bash sed

我想将文本foo添加到某个目录中所有文件的开头。我尝试了以下命令:

sed '1i foo' *

但是只将文本添加到第一个文件中。如何在单个sed命令中附加到所有文件? (我知道可以使用for循环来完成,我特意要求一个sed命令)

3 个答案:

答案 0 :(得分:2)

使用选项--separate(或简称:-s)将文件视为单独的而不是单个连续的长流。

答案 1 :(得分:1)

如果要更改文件,只需添加-i标志:

sed -i '1i foo' *

它会在每个文件的开头添加foo

注意:没有-i,文件实际上没有被修改。 foo仅在整个内容的开头添加到标准输出中,因此只出现一次。

答案 2 :(得分:1)

怎么样:

sed -i '1 s/^/foo/g' *