尝试修改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
没有~
字符或任何其他regex元字符关于linux - 结合grep sed和while,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45594164/