awk

awkで3行を1行にまとめる

入力データ
$ head monsters.txt
おにこんぼう
魔獣系
ぼうぎょ
スライムエンペラー
スライム系
ほじょ
ヘルクラッシャー
ゾンビ系
ぼうがい
りゅうおう
データ区切りをカンマ、レコード区切りを改行として、3行を1レコードにする。
$ awk '{if(NR%3)ORS=",";else ORS="\n";print}' monsters.txt | head
おにこんぼう,魔獣系,ぼうぎょ
スライムエンペラー,スライム系,ほじょ
ヘルクラッシャー,ゾンビ系,ぼうがい
りゅうおう,???,まほう
にじくじゃく,魔獣系,まほう Read more about awkで3行を1行にまとめる

コマンドラインでHTMLをCSV変換する方法

dtとddタグで作成された表形式のデータを、コマンドラインツールでCSV変換します。
$ curl -s http://doramahjong.com/tournament/ | hxnormalize -x | hxselect -s '\n' -c "table.catagoryTable" "dl" | lynx -stdin --dump  | sed -e 's/^\s\+//' | awk 'BEGIN { FS="\n"; RS="" } { print $1 "," $2 "," $3 }'
風花雪月杯,2016年11月22日 18:00:00,107 Read more about コマンドラインでHTMLをCSV変換する方法

コマンドラインでCSVの列順を変更する方法

$ cat population.csv
国,首都,人口(2006),id
"日本国","東京","127767944",1
アメリカ合衆国,ワシントン,300007997,2
$ awk -F, '{ print $4 "," $1 "," $2 "," $3 }' population.csv
id,国,首都,人口(2006)
1,"日本国","東京","127767944"
2,アメリカ合衆国,ワシントン,300007997
 Read more about コマンドラインでCSVの列順を変更する方法