我有一个文本文件,内容如下图所示,如何使用powershell(1.0)读取文本文件中的最后一个单词?
123 123 123 123 123 Exchange
我想,最后一句话 “交易所”,需要在PowerShell中的解决方案。请帮帮我。
注意:文件开头是TAB,也是字符之间。
感谢, RAM
我有一个文本文件,内容如下图所示,如何使用powershell(1.0)读取文本文件中的最后一个单词?
123 123 123 123 123 Exchange
我想,最后一句话 “交易所”,需要在PowerShell中的解决方案。请帮帮我。
注意:文件开头是TAB,也是字符之间。
感谢, RAM
分割线,如果存在删除空项,并获得了最后一个元素:
$content= Get-Content file.txt
$content.Split("`t",[System.StringSplitOptions]::RemoveEmptyEntries)[-1]
此功能需要一个文本文件的路径和返回的最后一个字最后一行文本文件。它会忽略文本文件中可能存在的空白行。
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"
这个怎么样班轮:
[Regex]::Match((Get-Content .\file_name.txt) -Join ' ', '(\w+)[^\w]*$').Groups[1].Value
不知道你是否有-join可在PowerShell的V1,如果是的话那么这个:
$t = '';Get-Content .\file_name.txt | % {$t += " $_"};[Regex]::Match($t, '(\w+)[^\w]*$').Groups[1].Value
谢谢@Dave Sexton这两个例子都有效。 – HamTheAstroChimp 2013-06-19 06:17:07
谢谢@你的内容正好适合我的剧本。 – HamTheAstroChimp 2013-06-19 06:21:55