locate
ファイルシステム内のパスを見つける検索。
多くの場合、ファイルのみ、またはディレクトリのみに関心があることをアプリオリに知っています。
「検索」検索は多くの場合、多くの結果を返します。出力を短縮するのに役立つため、結果にタイプの1つのみを含めると便利です。
しかし、ファイルまたはディレクトリのいずれかを除外するより興味深い議論があります。結果パスのリストは、理論だけでなくあいまいになる可能性があるためです。
以下の例は実際のケースであり、珍しいものではありません。
$ locate --regex --basename "xfce4-keyboard-overlay$"
/usr/local/bin/xfce4-keyboard-overlay
/usr/local/share/xfce4-keyboard-overlay
OK、私たちは何かを見つけました!しかし...ファイル、またはディレクトリ?
$ file /usr/local/bin/xfce4-keyboard-overlay
/usr/local/bin/xfce4-keyboard-overlay: bash script
それはファイルです...
$ file /usr/local/share/xfce4-keyboard-overlay
/usr/local/share/xfce4-keyboard-overlay: directory
2番目はそうではありません。
このあいまいさにより、パスの長いリストが読みにくくなるため、たとえば、のコマンドラインオプションを使用して、ディレクトリを除外することは本当に便利ですlocate
。
このようなものはありますか?ディレクトリのフィルターがロケートとは別の場合でも?
少なくとも、スクリプトを使用して、チェックするすべてのファイル名を繰り返すことができます-これは遅いかもしれません。
while
ステートメントの後に「IFS =」が何をするかについての情報を追加できますか?