Il s'agit de la page de manuel pour -n
:
-n
supprimer l'impression automatique de l'espace du motif
Je remarque que lorsque vous ne l' utilisez pas-n
pour certaines opérations, chaque ligne est imprimée sur stdout (et les lignes demandées sont imprimées deux fois):
$ cat test.txt
first
second
third
fourth
fifth
$ sed -n '2,3p' test.txt
second
third
$ sed '2,3p' test.txt
first
second
second
third
third
fourth
fifth
Cependant, cette loi ne s'applique pas aux autres commandes:
$ sed -n 's/t/T/' test.txt
$ sed 's/t/T/' test.txt
firsT
second
Third
fourTh
fifTh
Alors qu'est-ce que ça -n
fait exactement?
-n
imprime chaque ligne en plus des lignes spécifiquement demandées. Ainsi, dans ce cas,-n
supprime l'impression de chaque ligne analysée . Cependant, dans les troisième et quatrième exemples, le comportement est différent. Dans ces cas, sed sans-n
ne produit pas les lignes deux fois, donc l'utilisation-n
ne supprime pas l'impression de chaque ligne analysée mais supprime plutôt l'impression des lignes non modifiées . J'ai du mal à généraliser quand le comportement sera l'un ou l'autre.