[英]How to pass output from sed into cp command?
从概念上讲,我想实现以下目标:
sed 's|<pattern>|<replace>|' <filename> --> cp <sedoutput> <somewhere>
总的来说:我想将sed的每一行都传递给另一个不接受管道的命令,因此xargs可能不适用。 也许有时候我甚至想在第二个命令的参数列表中放置多个位置。 可能吗?
您可以使用command substitution
:
cp "$(sed 's|<pattern>|<replace>|' filename)" somewhere
如果sed产生多行输出,则使用process substitution
:
while read -r f; do
cp "$f" somewhere
done < <(sed 's|<pattern>|<replace>|' filename)
sed 's|<pattern>|<replace>|' filename | while read EachOccurrence
do
cp "${EachOccurrence}" "${somewhere}"
done
读取需求也许-r
是输入行中的\\
只需使用xargs
sed 's|<pattern>|<replace>|' file | xargs -i{} cp {} somewhere
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.