2017-08-09 48 views
1

试图修改一个SVG,以便如果从一个文件中的字符串apears在行中,我将颜色更改为红色。即:结合grep sed,而

while read -r LINE; do cat file.svg | grep ""$LINE" | sed 
's/rgb(0,0,0)/rgb(1,0,0)/s; done < file.txt 

它不becase的输入文件是不变的工作 - 我需要的东西,像sed -i,但我怎样才能把这个进入循环?

回答

1

变化:

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没有~字符或任何其他正则表达式元字符