下午好!我需要一个命令来查找和替换另一个目录路径,在多个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>
谢谢。
答案 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