如何进行字符串匹配,例如:
<meta name="keywords" content="
然后每次找到匹配项时删除整行?
我希望对当前目录及以下目录中的所有文件执行此操作。
我也是 sed 的新手。
如何进行字符串匹配,例如:
<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' {} \;