it-swarm.com.de

Wie definiere ich ein 'Tab'-Trennzeichen mit' Cut 'in BASH?

Hier ist ein Beispiel für die Verwendung von cut, um Eingaben mit einem Leerzeichen in Felder zu unterteilen und das zweite Feld zu erhalten:

cut -f2 -d' '

Wie kann das Trennzeichen als Tabulator anstelle eines Leerzeichens definiert werden?

246

Zwei Wege:

Drücken Sie Ctrl+V und dann Tab.

cut -f2 -d'   ' infile

oder schreibe es so:

cut -f2 -d$'\t' infile
334
Birei

Tab ist die Standardeinstellung.

Siehe Manpage ausschneiden .

-d delim
         Use delim as the field delimiter character instead of the tab
         character.

Also solltest du einfach schreiben

cut -f 2
209
Mikel
awk -F '\t' '{ print $2 }' inputfile

Dies extrahiert das zweite durch Tabulatoren getrennte Feld jeder Eingabezeile aus inputfile.

14
Iľja

Allgemeiner, ohne dass unsichtbare Zeichen erforderlich sind: Verwenden Sie tr, um die Trennzeichen in ein Format zu konvertieren, das einfacher in cut angegeben werden kann.

$ echo -e "a\tb\tc" |tr '\t' ' ' |cut -d' ' -f2
b

tr ist ein einfaches, aber leistungsstarkes Tool zum Anpassen und Ersetzen von Zeichen.

10
nobar