タグ

2016年4月18日のブックマーク (1件)

  • Macの(BSD版)sed での上書き保存

    Macに入っているsedはBSD版sedとかいうやつで、Linuxなどに入っているGNU版sedとは様々な点で仕様が異なります。 中でも引っかかりやすいのがファイル上書きオプションの-iについてです。あんまりちゃんと説明した記事が見当たらないのでまとめておきます。 以下のようなコマンドを実行すると、BSD sedでは意図通りに実行されません。 $ echo aaabbbcc > hoge.txt $ sed -i 's/aaa/zzz/' hoge.txt # BSD sed sed: 1: "hoge.txt": extra characters at the end of h command $ gsed -i 's/aaa/zzz/' hoge.txt # GNU sed $ cat hoge.txt zzzbbbcc

    Macの(BSD版)sed での上書き保存
    kjirouu
    kjirouu 2016/04/18
    Mac OS X に入ってる sed は、上書き保存に -i ではなく -i '' を指定する