0
検索と置換の機能を実行して、条件に一致するファイルを見つけようとしています。'Sed'が複数のパラメータを持つ 'find'の結果に作用しません
検索声明(作品が見つけ、ファイルのリストを戻します):
find/-type f -name "*.properties" -o -name "*.xml" -not \(-path '/tmp/*' -o -path '/var/tmp/*' \)
sedの検索/置換:
sed -i 's/find/replace/g' {} \;
は一緒に置く:
find/-type f -name "*.properties" -o -name "*.xml" -not \(-path '/tmp/*' -o -path '/var/tmp/*' \) -exec sed -i 's/10\.32\.19\.156/10.32.19.165/g' {} \;
をしかし、これはありません動作していないようです。
find/-type f -name "*.properties" -exec sed -i 's/10\.32\.19\.156/10.32.19.165/g' {} \;
は、どのように私は、拡張「検索」パラメータで動作するようにsedを得ることができます?いくつかのパラメータは、それが動作するようになり、たとえばこの作品「見つける」を削除 は現在、これらの二つの「検索」の文は、唯一の2つのファイルをテストフォルダにまったく同じ結果を返す:
find /var/tmp/ipreplace/ -type f -name "*.properties"
find /var/tmp/ipreplace/ -type f -name "*.properties" -o -name "*.xml" -not \(-path '/tmp/*' -o -path '/var/tmp/*' \)
ないあなたの検索クエリで-not使用する理由を確認してください? find/var/tmp/ipreplaceはfindをそのディレクトリでのみ検索するように制限し、他のパラメータは必要ありません。 – Deano