Il y a un fichier dont le délimiteur est tab, quand j'utilise la commande
cut -d \t file.txt #or "\t" or "\\t"
Je reçois ce message
cut: vous devez spécifier une liste d'octets, de caractères ou de champs
Essayez `cut --help 'pour plus d'informations.
Comment utiliser la commande cut
?
Couper divise les lignes d'entrée au délimiteur donné (-d, --delimiter).
Pour diviser par onglets, omettez l'option -d, car la division par onglets est la valeur par défaut.
En utilisant l'option -f (--fields), vous pouvez spécifier les champs qui vous intéressent.
echo -e "a\tb\tc" |cut -f 1 # outputs "a"
echo -e "a\tb\tc" |cut -f 2 # outputs "b"
echo -e "a\tb\tc" |cut -f 3 # outputs "c"
echo -e "a\tb\tc" |cut -f 1,3 # outputs "a\tc"
echo -e "a\tb\tc\td\te" |cut -f 2-4 # outputs "b\tc\td"
Vous pouvez également spécifier le délimiteur de sortie (--output-delimiter) et supprimer les lignes ne contenant aucun délimiteur (-s/- only-delimited)
echo -e "a\tb\tc\td\te" |cut -f 2-4 --output-delimiter=":" # outputs b:c:d
Si vous êtes intéressé par le premier champ de votre fichier d'entrée, faites simplement ...
cut -f 1 file.txt
Le délimiteur par défaut est '\ t', il vous suffit donc d'exécuter:
cut -f <n> file.txt
Où <n>
est le numéro de la colonne
Vous pouvez essayer de placer un onglet entre les guillemets si vous appuyez d'abord sur "v" puis sur la touche ""
eg cat > test.txt
a b c
<ctrl d>
$ grep test.txt | cut -f 2 -d "<ctrl v> <presstab>"
renverra "b"