2017-08-09 15 views
3

Hiermit habe ich versucht, die Spalte zusammen mit Feldtrenner auszugeben.Wie Raum als Feldtrennzeichen mit awk verwenden?

Aber es scheitert in meinem Fall.

awk.txt(Input file) 

Sr No Name Sub Marks 
1) Amit Physics 80 
2) Rahul Maths 90 
3) Shyam Biology 87 
4) Kedar English 85 
5) Hari History 89 

awk, die ich versuchte, wie folgt: -

awk -F ' ' '{print $2 $3;}' awk.txt > output.txt 

Erhalten Ausgang:

NoName 
AmitPhysics 
RahulMaths 
ShyamBiology 
KedarEnglish 
HariHistory 

Erwartete Ausgabe:

Name Sub 
    Amit Physics 
    Rahul Maths 
    Shyam Biology 
    Kedar English 
    Hari History 
+0

Sind Sie die Befehle auf einem DOS-Computer ausgeführt oder) kopieren Einfügen von ihm? Ihre einfachen Anführungszeichen sind Unicode-Zeichenfolgen, die unter Linux möglicherweise nicht funktionieren – Inian

+0

läuft es in Linux-Terminal @Inian – PathFinder

+0

Ok, aber die Zitate sind falsch, schauen Sie sich die Anführungszeichen um '{}' und nach '-F' die ehemalige ist falsch – Inian

Antwort

1
awk '{print $3,$4;}' awk.txt > output.txt 

muss kein Feldtrennzeichen angegeben werden. Feldnummern beginnen bei 1, Sie benötigen also ein drittes und viertes Feld. und für print OFS (Ausgabefeldtrennzeichen) verwenden Sie Komma.

oder:

awk 'BEGIN{FS=OFS=" ";}{print $3,$4;}' awk.txt > output.txt 
+1

Großartig, das funktioniert für mich. @tso – PathFinder

Verwandte Themen