2009-07-02 6 views
1

Ich habe Feld wieawk Hilfe für das Erhalten Felder

a_b_c_d 

Ich möchte als die Ausgabe ab C_D, diese Abfrage arbeiten gewohnt für dieses

awk -F"_" <file> | '{print $1,$2,$3}' 

Da wird es nur abc Druck

Antwort

5

Versuchen Sie

awk -F"_" -f <file> '{ print $1" "$2" "$3"_"$4 }' 

Mit anderen Worten,

$echo a_b_c_d | awk -F"_" '{ print $1" "$2" "$3"_"$4 }'  
a b c_d 

den Code in den Klammern bedeutet

  • drucken die erste Übereinstimmung
  • Satzspiegel
  • Druck das zweite Spiel
  • Satzspiegel
  • ...
+2

Minor Detail, aber Sie können 'awk -F nur' awk -F '_ "' tun. –

+0

Ja, die einfachste Lösung ist, das _ implizit zu drucken. – dalloliogm

+0

Sie können weiter Golf spielen mit: awk -F {'print $ 1, $ 2, $ 3 "_" $ 4}' – galaxywatcher

Verwandte Themen