何をしたいのか
アイテム名と値が別々のcsvファイルに吐き出されているので、2つのファイルを整形し1つのファイルにします。sedコマンドでファイルの整形できるけど、アイテム名-値が横に並ぶように結合するときに使えるコマンドあったかなと思い調べたのでそのメモです。
どうしたのか
- sedコマンドでカンマを改行に変換する
出力されたcsvファイルは以下のような感じです。1行分が1回分のデータです。
一番最新のデータを取得した後、カンマを改行に変換してファイルに出力します。
#2つのファイルをそれぞれ変換する tail -1 item.csv | sed -e 's/,/\n/g' > item.txt tail -1 data.csv | sed -e 's/,/\n/g' > data.txt
- pasteコマンドで2つのファイルを横に結合する
paste item.txt data.txt > item_data.txt
結果
こんな感じでアイテム名と値が横に並び見やすくなりました。
$ cat item_data.txt item 1 item 1 item 1 item 1 item 1
番外編
pasteコマンドで-sオプションを使えば行と列を入れ替えることができます。
$ paste -s item.txt data.txt > item_data2.txt $cat item_data2.txt item item item item item item item item item item item item item item item item item item item item item item item item item item 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
おわり