【问题标题】:combine grep sed and while结合 grep sed 和 while
【发布时间】:2017-08-09 14:56:31
【问题描述】:

尝试修改 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 的东西,但我怎样才能将它放入循环中?

【问题讨论】:

    标签: linux bash shell sed


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

    【讨论】:

      猜你喜欢
      • 2016-12-26
      • 1970-01-01
      • 2013-06-27
      • 2011-01-17
      • 2013-10-19
      • 1970-01-01
      • 1970-01-01
      • 2013-07-07
      • 2014-08-22
      相关资源
      最近更新 更多