そのために Select-String を悪用する可能性があります:
Select-String -Pattern .* -Path .\foo.txt | select LineNumber, Line
出力例:
LineNumber Line
---------- ----
1 a
2
3 b
4
5 c
ファイルを cat して、出力される各行の行番号を出力したい
次のコマンドを使用してください:
$counter = 0; get-content .\test.txt | % { $counter++; write-host "`t$counter` $_" }
コメントで指摘されているように:
write-output
を使ったほうがいいかもしれませんwrite-host
の代わりに これにより、出力をさらに処理できるようになります。echo
write-output
のエイリアスです
したがって、上記のコマンドは次のようになります:
$counter = 0; get-content .\test.txt | % { $counter++; echo "`t$counter` $_" }
出力例:
> type test.txt
foo
//approved
bar
// approved
foo
/*
approved
*/
bar
> $counter = 0; get-content .\test.txt | % { $counter++; echo "`t$counter` $_" }
1 foo
2 //approved
3 bar
4 // approved
5 foo
6 /*
7 approved
8 */
9 bar
>
Cygwin cat -n
からの出力例 比較のために:
$ cat -n test.txt
1 foo
2 //approved
3 bar
4 // approved
5 foo
6 /*
7 approved
8 */
9 bar
$