"rGEO"
次のコマンドを使用して、ディレクトリ内の文字列を検索しようとしています。
find . -name "*" -type f -print | xargs grep "rGEO"
./home/oper1/AgencyTape/geo/exe/gngeo.cmd:${WEB_DIR}/exe/web_reports.sh -aGN -d${prev_ccyy}${prev_mm} -rGEO -nomail
この場合、一致する行と上記の文字列に一致する行を含むファイル名が返されます。
find . -name "*" -type f -exec grep "rGEO" {} \;
この場合、私は戻ってきます:
${WEB_DIR}/exe/web_reports.sh -aGN -d${prev_ccyy}${prev_mm} -rGEO -nomail
行を含むファイルは印刷されません。ご覧のとおり、2 つの出力には多くの違いがあります。
を使用するxargs
と、より明確で正確な出力が得られます。
私の質問は: 2 つのコマンドの違いは何ですか? 私には、それらは同じロジックを実行しているように見えますが、結果は異なります。