尝试修改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/

10-15 18:17