Möglicherweise missbrauchen Sie Select-String dafür:
Select-String -Pattern .* -Path .\foo.txt | select LineNumber, Line
Beispielausgabe:
LineNumber Line
---------- ----
1 a
2
3 b
4
5 c
Ich möchte eine Datei caten und die Zeilennummer jeder ausgegebenen Zeile ausgeben.
Verwenden Sie den folgenden Befehl:
$counter = 0; get-content .\test.txt | % { $counter++; write-host "`t$counter` $_" }
Wie in den Kommentaren erwähnt:
- Es kann besser sein,
write-output
zu verwenden stattwrite-host
da dies eine weitere Verarbeitung der Ausgabe ermöglicht. echo
ist ein Alias fürwrite-output
Der obige Befehl wird also zu:
$counter = 0; get-content .\test.txt | % { $counter++; echo "`t$counter` $_" }
Beispielausgabe:
> 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
>
Beispielausgabe von Cygwin cat -n
zum Vergleich:
$ cat -n test.txt
1 foo
2 //approved
3 bar
4 // approved
5 foo
6 /*
7 approved
8 */
9 bar
$