Numérotation des lignes correspondant au motif en utilisant sed
Je suis en train d'écrire le script qui recherche les lignes qui correspondent à un modèle. Je dois utiliser sed pour ce script.
Cela fonctionne très bien pour de la recherche et de l'impression appariés lignes:
sed -n /PATTERN/p
Cependant, j'aimerais également imprimer les paires de lignes nombre en face de la ligne elle-même.
Comment puis-je le faire à l'aide de sed?
source d'informationauteur almas
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
grep
:Si vous utilisez
=
danssed
le numéro de la ligne sera imprimé sur une ligne distincte et n'est pas disponible dans le modèle de l'espace pour la manipulation. Cependant, vous pouvez rediriger la sortie dans un autre exemple de la sed pour fusionner le numéro de la ligne et la ligne qu'elle s'applique.=
est utilisée pour imprimer le numéro de la ligne.Pour sed suivante pour obtenir le numéro de ligne
Passer à awk.
...
À L'Aide De Perl:
$.
contenir le numéro de ligne. Si le fichier d'entrée contient:Ce one-liner:
perl -ne 'print "$.: $_" if /record/' input.file
sera d'impression:Ou si vous voulez juste le nombre total de lignes correspondant à un modèle d'utilisation:
perl -lne '$count++ if /regex/; END { print int $count }' input.file
Voici la façon la plus simple: