我有 1 个大型 xml 文件,其中有类似以下行 -
<text file name 5 HD text>
<text file name 2 text>
<text file name 3 text>
<text file name HD 2 text>
<text file name 5 text>
是否可以使用 vbscript 或 powershell 输出 -
<text file name 5 HD text>
<text file name 3 text>
<text file name HD 2 text>
并在新文件中添加被删除的行 -
<text file name 2 text>
<text file name 5 text>
HD
位于文件名中的任何位置且不进行排序。
我发现根据使用 Windows PowerShell 的部分字符串匹配删除文本文件中的整行但这不是确切的答案。我不喜欢 Java,因为我出于黑客安全考虑删除了它。
答案1
根据任意标准(例如,是否有 HD 标签)将行分成不同文件的简单脚本
# Get the contents of the file.
$file = get-content ~\file.xml
# Loop through the xml file adding all "HD" tags to one file and all non "HD" tags to another file
foreach($text in $file)
{
if($text.Contains("HD")) {
Add-Content ~\hd.txt $text
}
else {
Add-Content ~\nohd.txt $text
}
}
如果标准略有不同,那么只需更改“if”语句以满足您的目的。