grep 'potato:' file.txt | sed 's/^.*: //'
grep
recherche toute ligne qui contient la chaîne de caractères potato:
puis, pour chacune de ces lignes, sed
remplace ( s///
- substituer) tout caractère ( .*
) depuis le début de la ligne ( ^
) jusqu'à la dernière occurrence de la séquence :
(deux-points suivis d'un espace) avec la chaîne vide ( s/...//
- remplacer la première partie par la deuxième partie, qui est vide).
ou
grep 'potato:' file.txt | cut -d\ -f2
Pour chaque ligne qui contient potato:
, cut
divisera la ligne en plusieurs champs délimités par des espaces ( -d\
- d
= délimiteur, \
= caractère d'espace échappé, quelque chose comme -d" "
aurait également fonctionné) et d'imprimer le deuxième champ de chacune de ces lignes ( -f2
).
ou
grep 'potato:' file.txt | awk '{print $2}'
Pour chaque ligne qui contient potato:
, awk
imprimera le deuxième champ ( print $2
) qui est délimité par défaut par des espaces.
ou
grep 'potato:' file.txt | perl -e 'for(<>){s/^.*: //;print}'
Toutes les lignes qui contiennent potato:
sont envoyés à un système en ligne ( -e
) Perl script qui prend toutes les lignes de stdin
puis, pour chacune de ces lignes, effectue la même substitution que dans le premier exemple ci-dessus, puis l'imprime.
ou
awk '{if(/potato:/) print $2}' < file.txt
Le fichier est envoyé via stdin
( < file.txt
envoie le contenu du fichier via stdin
à la commande de gauche) à un awk
script qui, pour chaque ligne qui contient potato:
( if(/potato:/)
retourne vrai si l'expression régulière /potato:/
correspond à la ligne courante), imprime le deuxième champ, comme décrit ci-dessus.
ou
perl -e 'for(<>){/potato:/ && s/^.*: // && print}' < file.txt
Le fichier est envoyé via stdin
( < file.txt
voir ci-dessus) à un script Perl qui fonctionne de manière similaire à celui ci-dessus, mais cette fois, il s'assure également que chaque ligne contient la chaîne de caractères potato:
( /potato:/
est une expression régulière qui correspond si la ligne courante contient potato:
et, si c'est le cas ( &&
), puis procède à l'application de l'expression régulière décrite ci-dessus et imprime le résultat).