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 }'
War es hilfreich?

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
scroll top