我需要编辑大约600个HTML文件,每个文件都有以下格式的行:
John Doe<div class="author"><b>Added: </b>July 8, 2006</div>
每个文档中的名称和日期都不同。我需要从所有文档中删除此行。
使用Windows,最快的方法是什么?
答案 0 :(得分:2)
@ECHO OFF
SETLOCAL
FOR %%f IN (*.html) DO (
FINDSTR /v /r /c:"^.*<div class=\"author\"><b>Added: </b>.*</div>$" "%%f" >"%%~nf.new"
FC "%%f" "%%~nf.new"
)
GOTO :EOF
应该看到这个问题。
fc
行仅用于验证 - 它应显示.html
文件和.new
文件之间的差异。验证后可以删除。
答案 1 :(得分:0)
您可以将文件名称传递给像这样的
的python脚本# Run as script.py *.html
import fileinput, sys
for line in fileinput.input(inplace=1):
if '<div class="author"><b>Added: </b>' not in line:
sys.stdout.write(line)
请注意,文件将在没有备份的情况下进行修改,因此请在运行命令之前保留备份。
答案 2 :(得分:0)
我最后使用Notepad ++中的'替换文件'功能使用以下正则表达式
^.*Added.*$