cut,paste,joinの練習
あんまり使ったことが無いコマンド郡、cut,paste,joinを試します。
まずテキストを用意
% cat ff.tsv 01 ふぁいあ ほのお 02 ぶりざど こおり 03 さんだー かみなり % cat dq.csv 01,ぎら,ほのお 02,ひゃど,こおり 03,ばぎ,かぜ
一個はタブ区切り、もう一個はコロン区切りでっす。
cutしてみる
cutでフィールドを取り出してみます。
% cut -f 2 ff.tsv ふぁいあ ぶりざど さんだー
-f 2でフィールドでフィールドを取り出せる。cutのデフォルトはタブ区切り。
csvを取り出してみます。
% cut -d ',' -f 2,3 dq.csv ぎら,ほのお ひゃど,こおり ばぎ,かぜ
-dでデリミタ指定、-f 2,3とやると、複数のフィールドが取り出せる。
joinしてみる
zshのプロセス置換を使って、共通フィールドで結合してみます。
% join ff.tsv <(tr ',' '\t' < dq.csv) 01 ふぁいあ ほのお ぎら ほのお 02 ぶりざど こおり ひゃど こおり 03 さんだー かみなり ばぎ かぜ
おぉぉぉ。
pasteする
pasteは普通につなげるだけ。
% paste ff.tsv <(tr ',' '\t' < dq.csv) 01 ふぁいあ ほのお 01 ぎら ほのお 02 ぶりざど こおり 02 ひゃど こおり 03 さんだー かみなり 03 ばぎ かぜ
cutと組み合わせるとセクシー。
まとめ
- cut,paste,joinは相当使える。活用してなかったことに反省。
- zshのプロセス置換は便利杉。