使用 powershell 如何替换文本文件中的 pageBreak?
Using powershell how to replace pageBreak in a text file?
我想做的是从文本文件创建一个 word 文档。但是文本文件中有 pageBreaks。我想删除或替换文本文件中的那些分页符。这是为了允许我在 word 文档中添加 pageBreaks,我随后会在我实际需要的地方创建它。
下面是我自己尝试替换文本文件中的pageBreak的PowerShell代码。这是行不通的。因为使用“`f”代替 pageBreak 不起作用。
$oldWord = "`fPage"
$newWord = "Page"
#-- replace the page breaks in the file
(Get-Content $inputFilePath) -replace '$oldWord', '$newWord' | Set-Content $inputFilePath
文本编辑器UltraEdit中的pageBreak显示的符号是♀
在 UltraEdit 中替换字符很容易。我想使用 Powershell 替换或删除它。
下面是一个相关问题。但是关于 PowerShell 代码仍然没有答案。
对于分页符,您可以使用:
[io.file]::ReadAllText( 'H:\oldFile.txt') | %{$_.replace("`f","")} >h:\newFile.txt
以下代码片段适用于 powershell v3:
cat H:\oldFile.txt -raw | %{$_.replace("`f","")} >h:\newFile.txt
感谢提问!这个很有趣。
所以 Form-Feed 特殊字符是 powershell 中的错误。如果你回显它,你只会得到一个奇怪的字符,或者如果你不能显示它,就会得到一个正方形。但是如果你将它复制并粘贴回 powershell 终端,如果只是将你的命令入口点移动到屏幕顶部。奇数
我所做的是尝试寻找替换通用特殊字符的方法。您可以使用 $oldWord -replace 'REGEX_GOES_HERE', 'THING_TO_REPLACE_WITH_HERE
在 powershell 中使用正则表达式,所以我想到的是:
$oldWord -replace '[\f]', '' #You can also use \r for carriage return, \n for new line, \t for tab, \s for ALL whitespace
这将简单地删除换页字符的所有实例。
希望对您有所帮助!干杯!
我想做的是从文本文件创建一个 word 文档。但是文本文件中有 pageBreaks。我想删除或替换文本文件中的那些分页符。这是为了允许我在 word 文档中添加 pageBreaks,我随后会在我实际需要的地方创建它。
下面是我自己尝试替换文本文件中的pageBreak的PowerShell代码。这是行不通的。因为使用“`f”代替 pageBreak 不起作用。
$oldWord = "`fPage"
$newWord = "Page"
#-- replace the page breaks in the file
(Get-Content $inputFilePath) -replace '$oldWord', '$newWord' | Set-Content $inputFilePath
文本编辑器UltraEdit中的pageBreak显示的符号是♀ 在 UltraEdit 中替换字符很容易。我想使用 Powershell 替换或删除它。
下面是一个相关问题。但是关于 PowerShell 代码仍然没有答案。
对于分页符,您可以使用:
[io.file]::ReadAllText( 'H:\oldFile.txt') | %{$_.replace("`f","")} >h:\newFile.txt
以下代码片段适用于 powershell v3:
cat H:\oldFile.txt -raw | %{$_.replace("`f","")} >h:\newFile.txt
感谢提问!这个很有趣。
所以 Form-Feed 特殊字符是 powershell 中的错误。如果你回显它,你只会得到一个奇怪的字符,或者如果你不能显示它,就会得到一个正方形。但是如果你将它复制并粘贴回 powershell 终端,如果只是将你的命令入口点移动到屏幕顶部。奇数
我所做的是尝试寻找替换通用特殊字符的方法。您可以使用 $oldWord -replace 'REGEX_GOES_HERE', 'THING_TO_REPLACE_WITH_HERE
在 powershell 中使用正则表达式,所以我想到的是:
$oldWord -replace '[\f]', '' #You can also use \r for carriage return, \n for new line, \t for tab, \s for ALL whitespace
这将简单地删除换页字符的所有实例。
希望对您有所帮助!干杯!