Пошук із locateшляхами знаходження у файловій системі.
Часто ви апріорі знаєте, що вас цікавлять або файли, або лише каталоги.
Пошук "знайти" часто повертає багато результатів. Було б корисно включити в результат лише один із типів, оскільки це допомагає скоротити вихід.
Але є більш цікавий аргумент, щоб не залишати ні файли, ні каталоги: адже список шляхів результатів може бути неоднозначним - не лише теоретично.
Наведений нижче приклад - справжній світовий випадок, а не незвичайний:
$ locate --regex --basename "xfce4-keyboard-overlay$"
/usr/local/bin/xfce4-keyboard-overlay
/usr/local/share/xfce4-keyboard-overlay
Гаразд, ми щось знайшли! Але ... файли чи каталоги?
$ 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
а другий - ні.
Ця двозначність робить важкі для читання довгі списки шляхів, тому було б дуже приємно фільтрувати каталоги, наприклад, використовуючи параметр "comman line" для locate.
Чи існує щось подібне? Навіть якщо фільтр для каталогів відокремлений від locate?
Принаймні, можна використати скрипт для ітерації всіх імен файлів, щоб перевірити - що може бути повільним.
whileозначає "IFS =" після вашої заяви?