我想将文本foo
添加到某个目录中所有文件的启动中。我尝试了以下命令:
sed '1i foo' *
,但这仅将文本添加到第一个文件中。如何在单个sed
命令中附加到所有文件?(我知道可以使用for
循环完成,我专门要求一个sed
命令)
使用选项--separate
(或简短:-s
)将文件视为独立的,而不是单个连续的长流。
如果要更改文件,只需添加-i
标志:
sed -i '1i foo' *
它将在每个文件的开头添加foo
。
注意:如果没有-i
,则实际上未修改文件。foo
在整个内容的开头添加到标准输出中,因此仅出现一次。
怎么样:
sed -i '1 s/^/foo/g' *