タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

sedに関するtohokuaikiのブックマーク (2)

  • 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 での上書き保存
    tohokuaiki
    tohokuaiki 2019/10/21
    おー。なるほど… -i -e にすると何で-e付きのファイルができるのかと… “拡張子を「なし」に指定する場合、バックアップされません。”
  • sedの正規表現がひどい件 - 檜山正幸のキマイラ飼育記 (はてなBlog)

    sedの正規表現 http://itpro.nikkeibp.co.jp/article/COLUMN/20060228/231161/ より引用: メタ文字 意味 . 改行文字以外の任意の1文字 * 直前の1文字の0回以上の繰り返しに一致。直前の文字は正規表現でも構わない ^ 行の先頭 $ 行の末尾 [ ] かっこ内の任意の1文字に一致。ハイフン(-)で範囲指定もできる [^ ] かっこ内の任意の1文字に不一致。ハイフン(-)で範囲指定もできる いたって素直でまっとうな正規表現でいいんじゃないのかな、と思いますよね。 ところが、 メタ文字 意味 \+ 直前の文字の1個以上の繰り返しに一致 \? 直前の文字の0または1文字に一致 \| いずれかのパターンに一致 Emacsだと \| とか使うけど、* が使えるのに \+ と \? はないでしょうよ。 改行の扱いもひどいけど、\+ と \?

    sedの正規表現がひどい件 - 檜山正幸のキマイラ飼育記 (はてなBlog)
    tohokuaiki
    tohokuaiki 2013/10/30
    「\+」:直前の文字の1個以上の繰り返しに一致・・・・ああああああああああああ、これではまっておった。。+じゃないのかよ!!
  • 1