Vous abusez potentiellement de Select-String pour cela :
Select-String -Pattern .* -Path .\foo.txt | select LineNumber, Line
Exemple de sortie :
LineNumber Line
---------- ----
1 a
2
3 b
4
5 c
Je veux cater un fichier et sortir le numéro de ligne de chaque ligne qu'il sort.
Utilisez la commande suivante :
$counter = 0; get-content .\test.txt | % { $counter++; write-host "`t$counter` $_" }
Comme indiqué dans les commentaires :
- Il peut être préférable d'utiliser
write-output
au lieu dewrite-host
car cela permet un traitement ultérieur de la sortie. echo
est un alias pourwrite-output
Ainsi la commande ci-dessus devient :
$counter = 0; get-content .\test.txt | % { $counter++; echo "`t$counter` $_" }
Exemple de sortie :
> 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
>
Exemple de sortie de Cygwin cat -n
à titre de comparaison :
$ cat -n test.txt
1 foo
2 //approved
3 bar
4 // approved
5 foo
6 /*
7 approved
8 */
9 bar
$