如何使用powershell(1.0)读取文本文件中的最后一个单词?

时间:2013-04-25 08:11:42

标签: windows powershell

我的文字文件内容如下,


     123    123   123   123   123   Exchange

我想要最后一句话“ Exchange ”,需要在PowerShell中使用解决方案。请帮帮我。

注意:文件的开头是TAB,也在字符之间。

谢谢, RaM

3 个答案:

答案 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