find
特定のファイル名に対してuseを呼び出したいと思います。
find $(do_something to find filenames) -print0 | xargs -r0 ls -ld
何も返されないと中断されます$(do_something to find filenames)
。 find コマンドは再帰検索を開始します。
引数として明示的なファイル名/ディレクトリ名なしでfindに何もしないように指示する方法はありますか?
ベストアンサー1
それでzsh
私はそうします:
files=($(do_something to find filenames))
(($#files)) && find $files ...
そしてtcsh
:
set files=(`do_something to find filenames`)
if ($#files) find $files:q ...
bash
、またはmksh
、ksh93
set -f; files=($(do_something to find filenames))
((${#files[@]})) && find "${files[@]}" ...
POSIX的に:
set -f; set -- $(do_something to find filenames)
[ "$#" -gt 0 ] && find "$@" ...
(Bashや他のPOSIXシェルでは$(...)
分割($IFS
デフォルトでは空白、タブ、および改行)を実行しますが、結果の単語にはワイルドカードも実行します。ここでは必要ではないと予想されるため)set -f
。 rc、es...)にはこの問題はありません)。