sed -i -e '/line/a\/to be added/' argument
1.参数是一个文件的每一行[这些行有多个文本文件的路径]。我可以在linux终端中使用foreach吗?还有什么其他选项?
1.我尝试了下面的xargs方法,但是没有起作用xargs -a file_name -I{} -d '\n' sed -i -e '/line/a/to be added/' {}我在上面哪里出错了?
例如:file.txt包含各种文件的路径-每行一个,我想对file.txt中存在的所有文件应用sed命令
3条答案
按热度按时间a8jjtwal1#
这可能对您有用(GNU parallel和sed):
这将在名为
argument
的文件中的每个包含line
的行后面附加一行/to be added
ztigrdn82#
这个问题更多地是关于如何在bash中使用foreach循环从文件中逐行读取:
您可以使用
while read
执行此操作,并使用< file
重定向文件。下面是一个例子:
argument是文本文件,就像在问题中一样。
ozxc1zmp3#
您可以将
sed
命令添加到该文件中并从该文件执行使用GNU
sed e
选项,该选项执行在模式空间中找到的命令,并将模式空间替换为输出。或者