ランダムなディレクトリパスを選択するスクリプトを実行したいと思いました。
find / -type d | shuf -n1
残念ながら、特定のディレクトリに入ることの禁止に関するエラーメッセージが表示されます。
検索でディレクトリを検索から除外するにはどうすればよいですか?
Linuxで特定のパスを除外するには:
find / -path /sys -Prune -o -path /proc -Prune -o -type d
別のアプローチは、異なるファイルシステムで再帰しないようにfind
に指示することです。
find / -xdev -type d
locate を使用して、ライブシステムの代わりにファイル名のデータベースをクエリすることもできます(通常は毎晩更新され、updatedb
を使用して手動で更新することもできます)。
locate '*' | shuf -n 1
GNUを使用すると、次のように正規表現オプションを使用することもできます:
find / -regextype posix-extended -regex "/(sys|srv|proc)" -Prune -o -type d