自分はコマンドで置換を最初にやろうと思ったときに、sedを教えてもらった
色々と便利なんだけど、覚えることがかなりあるので使うときは毎回調べないといけない・・・
そんなときに見つけたのがtrというコマンド
使い方は至ってシンプル
tr "hoge" "foo" < foo.txt
hoge.txtの中身のうち、hogeをfooに置換してくれる
例えばhoge.txtが次のようなデータだったとする
[1,2,3,4,5]
これを
1
2
3
4
5
のように整形したいときは、
tr ',' '\n' < hoge.txt | tr ']' '\n' | tr -d '[' >mod_hoge.txt
もしくは
tr ',' '\n' < hoge.txt | tr -d ']' | tr -d '[' > mod_hoge.txt
でおk(なはず)
最後に改行を入れたいかどうかでちょっと違うだけ
最初に説明した tr "hoge" "foo" < hoge.txt 以外にも-dオプションを使っている
tr -d "[" < hoge.txt
で、[という文字を削除できる。
trのデメリットは1文字での置換しかできない点。
例えば
tr '123' '456' < hoge.txt
と先ほどのデータに対して、置換をしてみると
[4,5,6,4,5]が返ってくるはず。
つまり1を4に、2を5に、3を6にそれぞれ1文字置換してくれている。
複数文字に及ぶ文字列を置換するためにはsedを使うべし。