[Mac] カンマ区切りのCSVを逆順にする

カンマ区切りのCSV形式の文字列を逆順にしたい。 手でやってもいいのですが、コピペがめんどくさい。 awkを使って行う方法を考えてみました。 ```bash `gutter:false; $ echo "hoge,foo,bar" | awk -F ',' '{str=$NF; for(i=NF-1; i>0; i--){str=str ","$i} print str}' bar,foo,hoge ``` ### ポイント * はじめにstrに先頭の文字を入れておく * NF (Number of field)から後ろに連結する * 1行ごとに結果を出力 上高地線の駅の名称を逆順にしたかったのです。 awk便利ですが、たまにしか使わないとNFとかNRとか変数忘れてしまいます。 コピペだとミスが起きるかもしれませんが、これならミスなさそうです。

0 件のコメント :

コメントを投稿