我正在网上查找有关正则表达式和 sed 用法的信息。 我还打开了 sed 的手册。 尽管如此,我还是在这里发布这个问题,因为我确信有人经常使用这两个问题,他们可能可以在我找到解决方案之前回答这个问题。
我有几百个 html 文档,其链接如下:
http://www.example.com/subfolder/abc.asp?page=1#main
我需要删除“#main”
脑海中浮现出某种图案吗?
试试这个 sed:
sed 's/^\(.*\)#.*$/\1/'
或者这个更好的 sed 命令:
sed 's/#.*$//'
这是在命令行上使用 perl 的代码片段。它不是 sed,但我手头有它:
perl -i -pe 's/#main//' *.html
要运行它并让它进行备份,您可以使用:
perl -pi.bak -e 's/#main//' *.html
假设 #main 足够具体,可以进行简单的查找和替换:
find . -name '*.html' -print0 | xargs -0 sed -i 's/#main//g'