2009-04-24 11 views

Répondre

20

Si vous utilisez Bash,

cut -d $'\001' ... 

œuvres (voir Bash Reference Manual # 3.1.2.4 ANSI-C Quoting).

D'autres options (plus portables),

cut -d `echo -e '\001'` ... 

FS=`echo -e '\001'` 
cut -d $FS ... 

ou en insérant le caractère de contrôle en utilisant directement^V tel que mentionné par Alnitak et etlerant - sur la ligne de commande d'enveloppe, et dans les éditeurs comme vi, cela signifie "Ne traitez pas la prochaine chose que je tape spécialement".

4

Oui, c'est parfaitement possible.

Si en tapant dans une coquille, appuyez sur ^V puis ^A pour insérer le ^A textuellement dans la ligne actuelle plutôt que de l'avoir traité comme « aller à début de la ligne » normale commande:

% cat -v foo 
abc^Adef^Aghi 
% cut -d^A -f2 foo 
def 
0

Si par exemple vous delimiter est unprintable tab qui est équivalent \t et que vous voulez trouver la seconde à l'élément de fin de chaque ligne séparée par onglet, vous pouvez utiliser ceci:

cut -d $'\t' -f2- tablimited.csv 
Questions connexes