powershell tr​​im - 删除字符串后的所有字符

时间:2015-03-17 00:48:48

标签: powershell trim

在字符串(\ test.something)之后删除所有内容的命令是什么。 我在文本文件中有信息,但在字符串后面有一行我不想要的1000行文本。如何删除字符串后的所有内容。

这就是我所拥有的 - 不工作。非常感谢你。

$file = get-item "C:\Temp\test.txt"

(Get-Content $file) | ForEach {$_.TrimEnd("\test.something\")} | Set-Content $file

2 个答案:

答案 0 :(得分:3)

使用-replace

(Get-Content $file -Raw) -replace '(?s)\\test\.something\\.+' | Set-Content $file

答案 1 :(得分:1)

为什么要删除所有内容?只是保持一切(我将使用两行来提高可读性,但你可以轻松地组合成单一命令):

$text = ( Get-Content test.txt | Out-String ).Trim() 
#Note V3 can just use Get-Content test.txt -raw
$text.Substring(0,$text.IndexOf('\test.something\')) | Set-Content file2.txt

此外,您可能不需要Trim但是您正在使用TrimEnd,以便以后添加它。 )