2011-01-07 5 views
2

SEDがfindコマンドで作業していない私は、ディレクトリ内のすべてのファイルに対して、このsedスクリプトを実行しようとしている

sed.s:

/<constants>/a\ 
<const type="profElem" name="mission_description" value="NCEP and NCAR Reanalysis Monthly Means and Other Derived Variables"/> 

が、私は実行するたびに:

find . -exec sed -f sed.s -i {} \; 

私はエラーを取得する:

sed: -i may not be used with stdin 

これはどのように機能するのですか?

+0

ファイルリストを見るのは興味深いでしょう。あなたは 'findの結果を投稿できますか? -exec echo {} \; ' –

答えて

2

sedのバージョンでは、バックアップの拡張子を-iオプションに渡す必要があるようです。あなたのコマンドにかなり自信が持てる場合は、次のように長さゼロの拡張子を付けることができます:

find . -exec sed -f sed.s -i '' {} \; 
+0

ああ、引用符がありませんでした... – victor

関連する問題