Wie hinzufügen von Anführungszeichen argument in awk print-Anweisung?
Für die Bequemlichkeit, ich habe einen alias angelegt, um svn rm
alle gelöschten Dateien in meiner Arbeitskopie:
alias svnrmall="svn status | grep '^\!' | awk '{print \$2}' | xargs svn rm"
Funktioniert das ganz gut, außer, wenn der Dateiname ein Leerzeichen enthält.
Eine einfache Lösung für das problem zu sein scheint, haben awk
schließen Sie jede Datei Pfad in einfache Anführungszeichen, aber ich habe Schwierigkeiten, herauszufinden, wie zu tun.
E. g., so etwas (außer dies führt zu einem Fehler: "invalid char "' in expression"):
alias svnrmall="... | awk \"{print '\$2'}\" | ..."
- PS. keine Notwendigkeit für
grep
awk machen kann pattern matchingawk '/pattern/ {print $2}'
Sie können es durch das Feld zuawk '$2~/pattern/ {print $2}'
- Ah, gut zu wissen. Danke!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nutzung -v zu definieren variable
q
und verwenden Sie die variable in awkawk ... {print q $2 $3 (etc.) q}
.$0
wählen Sie die gesamte Zeile, ohne sich Gedanken über die Räume aufgeteilt in Felder.q="""
aber es hat nicht funktioniert...