Linuxfind
コマンドオプションを使用して、-iname
さまざまな拡張子()を持つ.pdf, .doc, .xlx, .ppt
ファイルを見つけて移動したいと思います。使用できるモードがいくつかあることがわかりますgrep
。しかし、それは可能でしょうかfind
?
答え1
はい、でも-iname
一人ではありません。find
それ自体には「OR」があります。
expr1 -o expr2
Or; expr2 is not evaluated if expr1 is true.
だからあなたはこれを行うことができます:
find /path/to/dir -iname '*.pdf' -o -iname '*.doc' -o -iname '*.xlx' -o -iname '*.ppt'
-exec
一致するファイル(例:)に対していくつかの操作を実行する必要がある場合、または-print
次に適用される追加のフィルタリングを追加する必要がある場合は注意してください。みんな(例-type f
:)、つまり次のいずれかと一致する必要がある場合そしてfind
他の多くの言語と同様に、他の操作を実行/確認します。そして次より高い優先順位または、括弧を使用する必要があります。
find /path/to/dir '(' -iname '*.pdf' \
-o -iname '*.doc' \
-o -iname '*.xlx' \
-o -iname '*.ppt' \
')' -type f -exec ls -ld {} +