Список всех файлов, заканчивающихся несколькими расширениями файлов?

Если я хочу, чтобы файлы, заканчивающиеся на .fas я знаю, что я могу сделать следующее с помощью команды ls :

 ls -l /users/jenna/bio/*.fas 

и в нем перечислены все файлы, заканчивающиеся на .fas . Но как я могу получить файлы, заканчивающиеся на .fas или .pep ?

ls -l /users/jenna/bio/(*.fas | *.pep) , похоже, не работает? Я знаю, что могут быть другие команды, которые могут это сделать, но есть ли способ заставить его работать с ls ?

Спасибо за любую помощь!

3 Solutions collect form web for “Список всех файлов, заканчивающихся несколькими расширениями файлов?”

Используйте это: ls -l /users/jenna/bio/*.{fas,pep}

Или это: find /users/jenna/bio -iname '*.pep' -or -iname '*.fas'

Вещь, которая, скорее всего, будет работать из коробки, – это расширение брекета . Он работает в bash, zsh и ksh.

 ls -l /users/jenna/bio/*.{fas,pep} 

(Нет пробелов вокруг скобок.)

В bash и ksh это отображает ошибку, если одно из расширений не сопоставляется, но в любом случае перечисляет файлы, соответствующие другому расширению. Причина этого заключается в том, что расширение фигурной скобки не является функцией сопоставления подстановочных знаков, но текстовая замена: *.{fas,pep} преобразуется в *.fas *.pep прежде чем оболочка начнет поиск файлов, соответствующих шаблонам. В zsh вы получите сообщение об ошибке, и команда не будет запущена, но есть лучший способ: шаблон «или». Эта ошибка не будет выходить за пределы, если ни одно из расширений не будет соответствовать.

 ls -l /users/jenna/bio/*.(fas|pep) 

Или шаблоны также доступны с другим синтаксисом : @(…|…) ; в bash, этот синтаксис должен быть активирован с помощью shopt -s extglob , а в zsh этот синтаксис необходимо активировать с помощью setopt ksh_glob .

 ls -l /users/jenna/bio/*.@(fas|pep) 

(Некоторые из этих действий могут быть сконфигурированы. Все мои утверждения относятся к конфигурации по умолчанию оболочки, если явно не указано.)

Если вы хотите сканировать рекурсивно без раздражающих ошибок, вы обычно получаете от find или ls (например: « Permission denied », « Not a directory »), который может тормозить скрипты или команды xargs , также команда tree нигде не упоминалась:

 tree -fai / | grep -e ".fas$" -e ".pep$" 

выше я использовал root / , но может быть любым путем:

 tree -fai /users/jenna/bio/ | grep -e ".fas$" -e ".pep$"" 

КСТАТИ

  • ls -ld / dir, Solaris
  • Разные выходы команд «ls. *» И «ls *.»
  • Листинг номера числа результатов в `find` и` ls`
  • Msgstr "Показать все возможности <num>? (y или n) "для команды ls
  • Отображение последних N измененных файлов?
  • Что означает «число» в поле владельца файлов в Linux?
  • Количество байтов «ls -l <случайный файл>» по сравнению с «wc -c <random file>»
  • Какие типы типов файлов делают цвета в терминале в разных дистрибутивах (по умолчанию)?
  • Почему Linux может показать имя файла, содержащее символ '/'?
  • Как узнать список каталогов в файловой системе?
  • Ls -1 Команда в linux на Ubuntu dosen't показывает подробности рядом с именем каждого каталога или файла в списке?
  • Interesting Posts

    создание игрушек unix os: проблемы с ld

    Являются ли эти номера пропускной способности типичными для SSD?

    Объединение содержимого двух файлов со сравнением содержимого столбца

    Вход в Linux-сервер автоматически с использованием SSH-ключа с TeraTerm

    Почему я должен хранить домашние каталоги в / var / home?

    Есть ли стандарт для написания синопсиса команды?

    Если я зарегистрирован как root, как мне перезапустить mysql или apache с параметрами?

    Используйте символы Alt-letter в KDE

    Как удалить нежелательные учетные записи домена Windows и локальную учетную запись с экрана входа в Linux Mint 17?

    Почему не рекомендуется устанавливать загрузочный раздел на lvm?

    Как сделать файл перенаправления имеющим заказ

    HTTP-трафик туннеля через ssh

    Поиск файлов на основе имени префикса каталога и копирования в каталог

    Как удалить файлы и папки под определенной папкой

    Проблема с установкой fedora 21

    Linux и Unix - лучшая ОС в мире.