スポンサーリンク

printfで$0を出力する

※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-

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 出力すれば、
改行が削除されることになります。

参考:$0は1行全体の文字列

下記がサンプルコードになります。

 $ 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

スポンサーリンク