• ベストアンサー

sed -f のエラー対策を、教えて下さい。

sed -f work.sed hoge.txt を実行すると、"sed: 1: work.sed: bad flag in substitute command: 's'"となる。 work.sed(文字コード: utf8)の内容は、以下の通りです。 s/キーワード/文字/g 動作確認環境 ・Mac 10.5のターミナル ・サクラサーバーを、ターミナル上でリモート操作しました。 二つの環境で同じ動作でした。 これに対する対応策を、ご教示ください。

質問者が選んだベストアンサー

  • ベストアンサー
  • dscripty
  • ベストアンサー率51% (166/325)
回答No.2

| sed 's/キーワード/文字/g' hoge.txt ↑で再現しないなら、 改行コードが LF になってないか work.sed に UTF-8 の先頭文字列「0xEF 0xBB 0xBF」がついちゃってるか かな?

xcode_15
質問者

お礼

ご回答を頂きまして、有り難う御座います。 sed 's/キーワード/文字/g' hoge.txt この様に、コマンドライン上でタイプするなら問題なく動作します。 しかし、置換をファイルに纏めるとエラー表示をします。

xcode_15
質問者

補足

「お礼」を書いた後に判った事ですが、改行コードが LF になってませんでした。 解決しました。 有り難う御座います。

その他の回答 (1)

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

たぶん、そのキーワードか文字になにかあって、期待通りになっていないのでしょう、としか。 正規表現に使う文字をそのまま使ったりとかしてないですか? あとは、最後のgのあとになんか付いてませんか?

xcode_15
質問者

お礼

ご回答を頂きまして、有り難う御座います。 改行コードに問題がありました。 LFではなく、CRに成っていました。

関連するQ&A