尝试修改 svg,以便如果文件中的字符串出现在该行中,我将颜色更改为红色。即:
while read -r LINE; do cat file.svg | grep ""$LINE" | sed
's/rgb(0,0,0)/rgb(1,0,0)/s; done < file.txt
它不起作用,因为输入文件未更改 - 我需要类似 sed -i 的东西,但如何将它放入循环中?
最佳答案
改变:
cat file.svg | grep ""$LINE" | sed 's/rgb(0,0,0)/rgb(1,0,0)/"
为此:
sed -i.bak "\~$LINE~{s~rgb(0,0,0)~rgb(1,0,0)~g;}" file.svg
这是假设 $LINE
没有 ~
字符或任何其他正则表达式元字符
关于linux - 结合 grep sed 和 while,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45594164/