结合grep sed和while

时间:2017-08-09 14:56:31

标签: linux bash shell sed

尝试修改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这样的东西,但我怎么能把它放到循环中呢?

1 个答案:

答案 0 :(得分:2)

变化:

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