6

ファイル内の改行に置き換え@@たい。これを行うために、私は以下のコードを書きましたが、gawkを2回呼び出すよりも洗練された解決策があるように感じます。誰か教えてもらえますか?^¤¤

cat test.txt | gawk '{ gsub("@@", "^"); print }' | gawk '{ gsub("¤¤", "\r\n"); print }'
4

2 に答える 2

12

まず、皮をむきますcat。その目的であるファイルの連結を除いて、役に立ちません。あなたのawkコマンドは

awk '{gsub("@@","^");gsub("¤¤","\r\n");print}' file

上記を行う前にすべての改行を削除したい場合

tr -d '\r\n' <file > temp && mv temp file
于 2011-04-29T07:39:08.320 に答える
2

印刷する前に gsub() を 2 回呼び出すだけです。

gawk '{ gsub("@@", "^"); gsub("¤¤", "\r\n"); 印刷}'

于 2011-04-29T07:44:32.880 に答える