カンマ区切りの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 件のコメント :
コメントを投稿