printfで$0を出力する
printfで$0を出力するのが、一番簡単でしょうか。
※MACターミナル(BSD系)での動作確認です。
$ cat in.txt | awk '{printf $0}'
printfは改行がデフォルトではつかないので、そのまま$0を出力するば改行が削除されることになります。
例えば、下記のin.txtがあったとします。
$ cat in.txt find,123 ls,345 cat,679 wc,123 grep,456
$ cat in.txt | awk '{printf $0}'
find,123ls,345cat,679wc,123grep,456
ORS = ""を設定する
ORS変数の設定で、print出力の行の区切り文字列が指定できます。
デフォルトは改行コードになっていて、これを空文字にしてprint $0 出力すれば、
改行が削除されることになります。
下記がサンプルコードになります。
$ cat sample.awk
#!/bin/sh
cat in.txt | awk '
BEGIN{
ORS = ""
}
{
print $0
}
'
下記が実行結果になります。
$ ./sample.awk find,123ls,345cat,679wc,123grep,456
ワンライナーでも書けてしまいますね。
$ cat in.txt | awk 'BEGIN{ORS = ""}{print $0}'
find,123ls,345cat,679wc,123grep,456
