我的文字文件内容如下,
123 123 123 123 123 Exchange
我想要最后一句话“ Exchange ”,需要在PowerShell中使用解决方案。请帮帮我。
注意:文件的开头是TAB,也在字符之间。
谢谢, RaM
答案 0 :(得分:3)
拆分该行,删除空条目(如果存在),并获取最后一个元素:
$content= Get-Content file.txt
$content.Split("`t",[System.StringSplitOptions]::RemoveEmptyEntries)[-1]
答案 1 :(得分:2)
此函数将采用文本文件路径并返回文本文件最后一行的最后一个单词。它将忽略文本文件中可能出现的任何空白行。
Function Get-Last-Word($path){
$file = (Get-Content $path | Measure-Object)
$numberOfLines = $file.Count
$numberOfWords = (Get-Content $path | Select -Index ($numberOfLines -1) | Measure-Object -word)
$Line = Get-Content $path | Select -Index ($numberOfLines -1)
$wordArray = $Line.Split("`t")
$wordArray[($numberOfWords.Words - 1)]
}
实施例:
Get-Last-Word "C:\Myfolder\MyTextfile.txt"
答案 2 :(得分:1)
这个单行怎么样:
[Regex]::Match((Get-Content .\file_name.txt) -Join ' ', '(\w+)[^\w]*$').Groups[1].Value
不确定你是否在Powershell v1上有-Join,如果有,那么这个:
$t = '';Get-Content .\file_name.txt | % {$t += " $_"};[Regex]::Match($t, '(\w+)[^\w]*$').Groups[1].Value