我需要使用命令的输出作为 sed 中的搜索模式。我将使用 echo 做一个例子,但假设这可能是一个更复杂的命令:
echo "some pattern" | xargs sed -i 's/{}/replacement/g' file.txt
该命令不起作用,因为“某些模式”有一个空格,但我认为这清楚地说明了我的问题。
我怎样才能使该命令起作用?
提前致谢
最佳答案
您需要用 -I 开关告诉 xargs 要替换什么 - 它似乎不会自动知道 {},至少在某些版本中是这样。
echo "pattern" | xargs -I '{}' sed -i 's/{}/replacement/g' file.txt
关于bash - 如何在搜索模式中使用带有 sed 的 xargs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14402949/