Elegante Möglichkeit, die Spaltenreihenfolge umzukehren

9

Ich habe eine Datei namens ip-list mit zwei Spalten:

%Vor%

Und ich möchte produzieren:

%Vor%

Was ist das eleganteste, kürzeste Linux-Kommandozeilen-Tool?

    
Adam Matan 04.08.2009, 14:55
quelle

4 Antworten

12

Verwenden Sie awk:

%Vor%

Das sollte dir geben, was du willst.

    
Chris Scott 04.08.2009, 14:58
quelle
4

Die einfachste Lösung ist:

%Vor%

Allerdings gibt es einige Probleme. Wenn in einem der Felder Leerraum enthalten ist, müssen Sie einen der folgenden Schritte ausführen: (abhängig davon, ob Ihr awk -v) unterstützt

%Vor%

Alternativ können Sie einen der folgenden Schritte ausführen:

%Vor%

Einer der Kommentare fragt: "Wohin geht der Dateiname?" awk wird als Filter verwendet und würde normalerweise wie folgt aussehen:

%Vor%

ohne Dateinamen. Oder ein Dateiname kann nach allen Befehlen als Argument angegeben werden:

%Vor%     
William Pursell 04.08.2009 14:57
quelle
1

Mehr als zwei Spalten

%Vor%

Ausgabe:

%Vor%

Siehe auch: Ссылка

Getestet in GNU Awk 4.0.1.

    
quelle
0

perl -pi -e 's/^([^\t]+)\t([^\t]+)$/\t/' yourfile.csv

perl -pi -e 'split("\t"); print "$_[1]\t$_[0]"'

Der erste funktioniert wahrscheinlich auch in sed .

    
hhaamu 04.08.2009 14:58
quelle

Tags und Links