我有一个包含一些文本行的文本文件,我想插入另一个文本文件。
aaa.txt:
aaaaaaaaaa
bbbbbbbbb
ccccccccc
dddddddd
eeeeeeee
bbb.txt:
slkdfjlskdfj dlfjsldkfj slkdfjs
{{replace}}
sdlkfjslkfj sldkfjsld kfjsldk fjsldk f
sldkfjslkfjlskjflskdjf
sdkfjslkjflsklsdjkf
sldfkjslkfjlskfj
但是当我用aaa.txt的内容替换{{replace}}时,它将所有文本放在一行上 - 我想保留aaa.txt中的换行符:
PS> $bbb = cat .\bbb.txt
PS> $bbb -replace('{{replace}}',(cat .\aaa.txt))
slkdfjlskdfj dlfjsldkfj slkdfjs
aaaaaaaaaa bbbbbbbbb ccccccccc dddddddd eeeeeeee
sdlkfjslkfj sldkfjsld kfjsldk fjsldk f
sldkfjslkfjlskjflskdjf
sdkfjslkjflsklsdjkf
sldfkjslkfjlskfj
答案 0 :(得分:4)
-replace
替换单个字符串。 cat .\aaa.txt
返回一个字符串数组,然后-replace
必须转换为单个字符串,然后-replace
可以对其执行某些操作 - 因此您的结果。在PowerShell v3中,-raw
参数已添加到Get-Content
以规避此行为,因此,如果您有这样的行为,则它就像这样简单:
$bbb -replace '{{replace}}', (cat -raw .\aaa.txt)
答案 1 :(得分:0)
这似乎有效
($bbb -replace('{{replace}}',$aaa)) -replace " ","`n`r"