Відповіді:
Використовуйте правильний інструмент для правильної роботи. Якщо ви хочете шукати ім'я файлу, використовуйте "знайти":
$ # search for all *.txt file in current directory
$ find . -iname "*.txt"
find . | ack whatev.ext
ack -g REGEX
Друкуйте файли, де відносний шлях + назва файлу відповідає REGEX
[^/]*$
у свій REGEX для пошуку лише у назві файлу
Я згоден, має сенс використовувати пошук, якщо ви просто шукаєте * .txt файли. Однак, ack має потужні функції виявлення файлового типу, тому ви можете використовувати
ack -f --perl
який знайде всі файли Perl на основі імені файлу (* .pm, * .pl, * .t і * .pod), і рядка shebang.