Potenzialmente abusi di Select-String per questo:
Select-String -Pattern .* -Path .\foo.txt | select LineNumber, Line
Esempio di output:
LineNumber Line
---------- ----
1 a
2
3 b
4
5 c
Voglio eseguire il cat di un file e restituire il numero di riga di ciascuna riga che emette.
Usa il seguente comando:
$counter = 0; get-content .\test.txt | % { $counter++; write-host "`t$counter` $_" }
Come sottolineato nei commenti:
- Potrebbe essere meglio usare
write-output
invece diwrite-host
in quanto ciò consente un'ulteriore elaborazione dell'output. echo
è un alias perwrite-output
Quindi il comando precedente diventa:
$counter = 0; get-content .\test.txt | % { $counter++; echo "`t$counter` $_" }
Esempio di output:
> 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
>
Esempio di output da Cygwin cat -n
per confronto:
$ cat -n test.txt
1 foo
2 //approved
3 bar
4 // approved
5 foo
6 /*
7 approved
8 */
9 bar
$