从每行PowerShell获取最后X个字符

时间:2017-05-22 20:34:10

标签: powershell

我正在尝试获取管道中每行数组的最后8个字符, 我以为这会输出最后8个字符,但输出似乎是空白

foreach($line in $Texfile) 
{
$line[-8..-1]-join ''
}

2 个答案:

答案 0 :(得分:1)

有很多方法可以做到这一点,但我选择将Get-Content传递给ForEach-Object。

Get-Content -Path <Path\to\file.txt> | ForEach-Object {
    $_.Substring($_.Length - 8)
}

在您的示例中,您将使用$ Line代替$ _和而不是来管道ForEach-Object,而是使用Foreach语言构造,就像您已经完成的那样。

Foreach ($Line in $TextFile) {
    $Line.Substring($Line.Length - 8)
}

答案 1 :(得分:0)

试试这个:

foreach ($Line in $Texfile) {
  $Line.Remove(0, ($Line.Length - 8))
}