使用powershell如何在文本文件中替换pageBreak?

时间:2017-03-05 04:49:40

标签: powershell replace page-break

我要做的是从文本文件创建word文档。但是文本文件中有pageBreaks。我想删除或替换文本文件中的那些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代码仍然没有答案。

How to remove unknown line break (special character) in text file?

2 个答案:

答案 0 :(得分:3)

对于分页符,您可以使用:

attribute_1 = elem
下面的代码片段

将来自powershell v3:

[io.file]::ReadAllText( 'H:\oldFile.txt') | %{$_.replace("`f","")} >h:\newFile.txt

答案 1 :(得分:2)

感谢您的提问!这个很有趣。

所以Form-Feed特殊字符是powershell中的一个bugger。如果你回应它,你只是得到一个奇怪的字符,或如果你不能显示它的正方形。但是,如果将其复制并粘贴回powershell终端,只需将命令入口点移动到屏幕顶部即可。奇

我所做的是尝试找到替换一般特殊字符的方法。您可以使用# This Python file uses the following encoding: utf-8 import os, sys import mraa import time spi=mraa.Spi(0) #Bus comunication spi.mode(mraa.SPI_MODE0) #Comunication MODE0 spi.frequency(2000000) #Frequency of 2MHz spi.lsbmode(False) #Format data MSB ss=mraa.Gpio(8) #wire CS ss.dir(mraa.DIR_OUT) ss.write(1) def readadc(pinaleer,ss): dieccionaleer=0x0c #Input c=1100 so Output data length 16bits, MSB first, Unipolar pinaleer=int(hex(pinaleer),16) #address bits (4) dieccionaleer = dieccionaleer | (pinaleer<<4) #Put address bit in the 4th bits #Comunication ss.write(0) #CS=0 <-- Enables the device esc=spi.writeByte(dieccionaleer) #First byte with input info esc2=spi.writeByte(0x00) #Complete the 16bits --> Clock ss.write(1) #CS=1 <--- Disables the device time.sleep(0.00020) #Wait more time than 10us= time conversion AD ss.write(0) #CS=0 <-- Enables the device primerbyte=spi.writeByte(0x00) #First byte with 8bit of information segundobyte=spi.writeByte(0x00) #Second byte with 4bit (MSB) information , 8+4=12bits ss.write(1) #CS=1 <--- Disables the device salida1=0x0000 salida1=salida1 | (primerbyte << 8) salida1=salida1 | (segundobyte) salida = (salida1>>4)+1 #Output 12bits return salida d=0 while d<5: #d+=1 dato1 = readadc(1,ss) dato2 = readadc(2,ss) dato3 = readadc(3,ss) dato4 = readadc(4,ss) dato5 = readadc(5,ss) dato6 = readadc(6,ss) dato7 = readadc(7,ss) dato8 = readadc(8,ss) dato9 = readadc(9,ss) dato10= readadc(10,ss) dato11= readadc(11,ss) #pin Test (Vref+ - Vref-) /2 =~ 2048 dato12= readadc(12,ss) #pin Test Vref- 0000 dato13= readadc(13,ss) #pin Test Vref+ 4096 print (dato1, dato2, dato3, dato4, dato5, dato6, dato7, dato8, dato9, dato10, dato11, dato12, dato13) 在powershell中使用正则表达式,所以我想出的是:

$oldWord -replace 'REGEX_GOES_HERE', 'THING_TO_REPLACE_WITH_HERE

这将删除Form-Feed角色的所有实例。

希望这有帮助!干杯!