我正在尝试编辑包含各种html元素的大型纯文本文档:
<p> & </p>
<script> & </script>
<style> & </style>
<div> & </div>
<span style="color: #ff0000;"> & </span>
我的目标是从文本文件中删除任何<UniqueText>
。我与powershell的合作不多,因此我的知识有限,而且还是给了我一个机会。
用于替换所有<UniqueText>
get-content "C:\Users\John\Desktop\input.txt" | -replace "\<.*?\>","" | Out-File C:\Users\John\Desktop\output.txt
上面的脚本给出了以下错误:
-replace:术语“ -replace”未被识别为cmdlet,函数,脚本文件或可运行程序的名称。
答案 0 :(得分:1)
使用-replace
时,必须确保将字符串正确解析为调用。
有两种方法可以解决问题:
1。。使用foreach浏览文件的每一行,并在每一行上使用-replace
(如果您想对这些行进行其他操作,这可能会有所帮助):< / p>
get-content "C:\Users\John\Desktop\input.txt" | % {$_ -replace "\<.*?\>",""} | Out-File C:\Users\John\Desktop\output.txt
%
是foreach
$_
是foreach
的元素,因此文件的每一行
2。。在文件中使用替换,而无需遍历每一行:
(get-content "C:\Users\John\Desktop\input.txt") -replace "\<.*?\>","" | Out-File C:\Users\John\Desktop\output.txt