Angenommen, Sie stoßen während Ihres Arbeitstages wiederholt auf die folgende Form der Spaltenausgabe eines Befehls in bash (in meinem Fall durch Ausführung svn st
in meinem Rails-Arbeitsverzeichnis):
? changes.patch
M app/models/superman.rb
A app/models/superwoman.rb
Um mit der Ausgabe Ihres Befehls - in diesem Fall den Dateinamen - arbeiten zu können, ist eine Art Analyse erforderlich, damit die zweite Spalte als Eingabe für den nächsten Befehl verwendet werden kann.
Was ich getan habe, ist, awk
um in die zweite Spalte zu gelangen, z. B. wenn ich alle Dateien entfernen möchte (nicht, dass dies ein typischer Anwendungsfall ist :), würde ich Folgendes tun:
svn st | awk '{print $2}' | xargs rm
Da ich dies oft tippe, ist eine natürliche Frage: Gibt es einen kürzeren (also cooleren) Weg, dies in Bash zu erreichen?
HINWEIS: Was ich frage, ist im Wesentlichen eine Shell-Befehlsfrage, obwohl sich mein konkretes Beispiel in meinem SVN-Workflow befindet. Wenn Sie der Meinung sind, dass der Workflow albern ist und einen alternativen Ansatz vorschlagen, werde ich Sie wahrscheinlich nicht ablehnen, andere jedoch, da die Frage hier wirklich lautet, wie die Ausgabe des Befehls für die n-te Spalte in bash so schnell wie möglich ausgeführt werden kann . Vielen Dank :)