Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 合并grep sed和while_Linux_Bash_Shell_Sed - Fatal编程技术网

Linux 合并grep sed和while

Linux 合并grep sed和while,linux,bash,shell,sed,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 读取-r行时;do cat file.svg | grep“$LINE”sed 's/rgb(0,0,0)/rgb(1,0,0)/s;完成

尝试修改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
读取-r行时
;do cat file.svg | grep“$LINE”sed
's/rgb(0,0,0)/rgb(1,0,0)/s;完成
它不起作用,因为输入文件是不变的-我需要像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
没有
~
字符或任何其他正则表达式元字符