使用sed递归查找和删除多个文件

使用sed递归查找和删除多个文件,sed,Sed,如何进行字符串匹配,例如: <meta name="keywords" content=" 然后每次找到匹配项时删除整行 我希望对当前目录和以下目录中的所有文件执行此操作 我也是sed新手。尝试以下命令: find . -type f -exec sed -i '/foobar/d' {} \; 将foobar更改为您搜索的内容。在回答以下问题时:如何递归地对所有文件执行x操作?答案是使用find。要使用sed删除一行,您可以使用non-portable-i,也可以简单地编写一个脚本来

如何进行字符串匹配,例如:

<meta name="keywords" content="
然后每次找到匹配项时删除整行

我希望对当前目录和以下目录中的所有文件执行此操作

我也是sed新手。

尝试以下命令:

find . -type f -exec sed -i '/foobar/d' {} \;

将foobar更改为您搜索的内容。

在回答以下问题时:如何递归地对所有文件执行x操作?答案是使用find。要使用sed删除一行,您可以使用non-portable-i,也可以简单地编写一个脚本来重定向流。例如:

find . -exec sh -c 'f=/tmp/t.$$; 
    sed "/<meta name=\"keywords\" content=\"/d" $0 > $f; mv $f $0' {} \;

您没有使用sed来解析HTML,是吗?我使用它来查找HTML文件中的那一行并删除它,所以我想是的。那很糟糕吗?看到了吗