Я думаю, ви хочете використовувати функцію оболонки, а не ls. Я використовую bash, тому я перевірив, що ти хочеш man bash. Шукайте "^ EXPANSION", (натискаючи "/"). Витяг:
РОЗШИРЕННЯ
Розширення виконується в командному рядку після його поділу на слова. Є сім видів розширення виконується: в фігурних дужках , тильди , параметрів і змінних розширення , підстановки команд , арифметичне розширення , слово розщеплення і розширення імен файлів .
︙
... <snip> ...
︙
Розширення шляху
Після слів розщеплення, якщо -f параметр не встановлено, Баш сканує кожне слово для символів *, ?і [. Якщо з’являється один з цих символів, то слово вважається візерунком і замінюється алфавітно відсортованим списком імен файлів, що відповідають шаблону. …
Нещодавно я почав виключати файли на основі їх першої літери з такою командою:
$ ls ./[^t]*
Це відповідатиме тому, що не починається з букви t. Якщо ви додасте більше символів між дужками, ви виключаєте файли, починаючи з цих літер.
Шукаю посилання, і я хороший! Дивіться відповідність шаблонів . Звідси це буде працювати для вашого випадку:
$ ls -lrt ./!(temp_log.*)
Це вимагає, щоб extglobопція оболонки була включена за допомогою shoptвбудованого ( shopt -s extglob), як заявляє Гілль .
ls --hide='temp_log.$$'повинен працювати. Ви можете / повинні також продовжити це за допомогою макетів, залежно від того, яка частина всього термінуtemp_log.$$є.