页次: 1
目录中有多个子目录,每个子目录中有多个svg文件。
svg文件内容中,很多有固定格式的地方需要添加一个固定的字符串
;fill:#009900
比如下面这个固定格式:
opacity:1
添加;fill:#009900
变成
opacity:1;fill:#009900
这些固定的格式除了opacity:1以外,还有
opacity:0.5
opacity:0.6
opacity:0.35
都需要在后面添加;fill:#009900
有啥方法能快速完成这个操作?
我试了下sed,没搞明白通配符怎么回事。
最近编辑记录 驿窗 (2022-11-15 13:35:47)
开源/Linux大众化,从驿窗开始~
离线
1. 我没接触过svg文件,但用下面的命令可以对单个txt文件实现你说的效果:
sed -E -i 's/(opacity:(1|0\.5|0\.6|0\.35))/\1;fill:#009900/g' sample.txt
执行完之后,sample.txt 会从:
opacity:1
opacity:0.5
opacity:0.6
opacity:0.35
变成:
opacity:1;fill:#009900
opacity:0.5;fill:#009900
opacity:0.6;fill:#009900
opacity:0.35;fill:#009900
2. 如果 svg 文件可以像 txt 文件一样被 sed 修改的话,在项目的顶层目录下执行下面的命令应该可以批量添加“;fill:#009900”:
find . -name '*.svg' -exec sed -E -i 's/(opacity:(1|0\.5|0\.6|0\.35))/\1;fill:#009900/g' {} \;
最近编辑记录 tanloong (2022-11-15 13:11:20)
离线
2. 如果 svg 文件可以像 txt 文件一样被 sed 修改的话,在项目的顶层目录下执行下面的命令应该可以批量添加“;fill:#009900”:
find . -name '*.svg' -exec sed -E -i 's/(opacity:(1|0\.5|0\.6|0\.35))/\1;fill:#009900/g' {} \;
我试了一下,这个命令有效。我记小本上,以后还会用到~
开源/Linux大众化,从驿窗开始~
离线
页次: 1