用于查找和替换多个文件中的单词的脚本

时间:2014-12-15 16:30:24

标签: html unix sed

下午好!我需要一个命令来查找和替换另一个目录路径,在多个html文件中,这是一个html文件的一部分:

<DIV STYLE="margin-top:6pt;margin-left:36pt;" >< FONT ID="f16" >
<A HREF="file:/export100/DOCS_AB/export200/ab.c" >
file:/export100/DOCS_AB/export200/ab.c</A></FONT></DIV>

<DIV STYLE="margin-top:6pt;margin-left:36pt;" >< FONT ID="f16">
<A HREF="file:/export100/DOCS_CD/export200/cd.c">
file:/export100/DOCS_CD/export200/cd.c</A></FONT></DIV>

.c文件的路径和名称可能有所不同。我试过这个:

find ./ -name *.html | xargs sed -i 's_/export_/media/pendrive_g'

我希望得到类似的东西:

<DIV STYLE="margin-top:6pt;margin-left:36pt;"><FONT ID="f16">
<A HREF="file:/media/pendrive/"nome_arquivo".c">
file:/media/pendrive/"nome_arquivo".c</A></FONT></DIV>

谢谢。

1 个答案:

答案 0 :(得分:0)

sed命令行替换

sed 's#file:/.*\.c#file:/media/pendrive/\"nome_arquivo\".c#g'

如果您希望找到所有.html文件,请尝试使用此类

#!/bin/bash
all_files=`find ./ -name '*.html'`
for file in $all_files ; do
    sed -i 's#file:/.*\.c#file:/media/pendrive/\"nome_arquivo\".c#g' "$file"
done