2017-08-09 70 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沒有~字符或任何其他正則表達式元字符