Frage
Ich möchte ersetzen @@
mit ^
und ¤¤
mit einer neuen Linie in einer Datei. Dazu habe ich den Code unten geschrieben, aber es fühlt sich an, als ob es eine elegantere Lösung gibt, als Gawk zweimal aufzurufen. Kann mir jemand sagen, ob es einen gibt?
cat test.txt | gawk '{ gsub("@@", "^"); print }' | gawk '{ gsub("¤¤", "\r\n"); print }'
Lösung
Zunächst häuten Sie das cat
. Es ist nutzlos, bis auf die Dateiverkampferung, die ihr Zweck ist. dein awk
Befehl wäre
awk '{gsub("@@","^");gsub("¤¤","\r\n");print}' file
Wenn Sie alle Linienbrüche entfernen möchten, bevor Sie das oben genannte durchführen
tr -d '\r\n' <file > temp && mv temp file
Andere Tipps
Rufen Sie einfach GSUB () zweimal vor dem Drucken an.
gawk '{gsub ("@@", "^"); gsub ("¤ ¤", " r n"); drucken }'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow