sed でセミコロンあるいは波括弧{}がおかしい(w コマンド たぶんrコマンドも)
バグなのか? 仕様なのか?
{}で複数のコマンドを纏めたら変なエラーが出て・・・
sed '/_start_/,/_end_/ {w testest.txt;d}
これを実行すると
sed: -e expression #1, char 0: `{' が不一致です
と}を認識してくれない???
sed -e '/_start_/,/_end_/ w testest.txt' -e '/_start_/,/_end_/d'
コマンドを分けて書けば問題ない
しかし同じアドレスを2回も書くのは不満だ
何のための波括弧{}と;セミコロンなのか???
さっぱりわからずorz
試しに
sed '/_start_/,/_end_/ {w testest.txt}
これを実行するとなぜかやはり
sed: -e expression #1, char 0: `{' が不一致です
と}を認識してくれない???
勿論コマンド一つなので{}は不要で{}を消せばエラーは出ない
さらに試しに
sed '/_start_/,/_end_/ {d}
これを実行するとなぜかエラーは出ない
まったく???なんだけども 結局のところ・・・
これ見て納得
rコマンドでそうならWコマンドでそうなるんだろう
しかしバグなのか? 仕様なのか?
なので
sed '/_start_/,/_end_/ {w testest.txt d}'
と2行に分けて(セミコロンは不要)書くことで解決
まあ普通ソース読まないですorz