在sed中按模式排除行

时间:2012-11-12 20:15:16

标签: bash sed

我正在尝试在bash中编写一个sed命令,用$(name).min.js更新HTML文件中对javascript和css文件的所有引用,但是我想忽略路径中带有单词MANAGER_WIDGET的文件,例如

替换:

<script type="text/javascript" src="javascript/scripts.js"/>

但不是:

`<script type="text/javascript" src="$MANAGER_WIDGET/Common/API/Plugin.js"/>`

到目前为止,我已经得到了以下sed命令,它将.min添加到所有文件js和css文件中:

sed "s/\.\([jscss]\+\)\"/\.min\.\1\"/g" index.html

如果有人能告诉我如何在其中排除包含MANAGER_WIDGET的行,那将会很棒。

1 个答案:

答案 0 :(得分:8)

sed '/MANAGER_WIDGET/!s/\.\([jscss]\+\)\"/\.min\.\1\"/g' index.html