我正在尝试在输出上运行 sedfind | grep \.ext$
但是,sed 需要输入文件和输出文件。
如何将输出行保存到变量,或将其传递给 sed?
这是不正确的,不需要sed输入文件。
Sed 是一个流编辑器[...],用于对输入流(文件或来自管道的输入)执行基本文本转换。(通过)
但就您而言,您想要操作文件,而不是流,所以是的,您需要它。
这里不需要grep,你可以使用find -name "*.ext". 如果您随后想要sed对已找到的所有文件运行,请使用find -exec对已找到的任何文件执行命令。
find -name "*.ext" -exec sed -i '...' {} \;
Run Code Online (Sandbox Code Playgroud)
如果出于任何原因您想使用来自的文件名grep(例如您的输入不是来自find),您可以使用xargs:
grep \.ext$ list_of_files | xargs -I{} sed -i '...' {}
Run Code Online (Sandbox Code Playgroud)