Comment grep, puis couper à partir d'un délimité par des colonnes du fichier?
J'ai un fichier avec plusieurs lignes, chaque ligne délimitée par les |
en plusieurs colonnes.
Je peux grep pour un certain rang, et je peux couper pour une certaine colonne, mais je ne peux pas comprendre comment le faire à la fois.
grep '^1001' customer
attrape les lignes commençant par 1001, à partir d'un fichier nommé à la clientèle
cut -d "|" -f 3 customer
coupes de la colonne 3 de toutes les lignes dans le fichier client.
....
grep '^1001' customer | cut -d "|" -f 3 customer
Si vous voulait les lignes commençant par 1001, ajouter un
^
de votre commande grep en tant que tel: grep "^1001"
.OriginalL'auteur Andrew Tsay | 2013-02-28
Vous devez vous connecter pour publier un commentaire.
Tout simplement omettre le nom de fichier lorsque vous appelez
cut
et il va utiliser la sortie degrep
en entrée:Il est également intéressant de noter que
grep 1001
ne pas saisir les lignes de départ avec 1001; il s'empare de lignes contenant 1001.OriginalL'auteur NPE
Mieux utiliser pour demander cette tâche de cette et d'éviter les multiples commandes avec tuyau:
awk -F "|" '$1==1001{print $3}' customer
Merci, j'ai édité ma réponse. Je l'ai eu comme
/1001/
car à l'origine, OP problème juste déclaré qu'il voulait à la hauteur de cette chaîne dans l'ensemble de la ligne.OriginalL'auteur anubhava