В Ubuntu (Debian): sudo apt-get build-dep <package>
Используйте фигурные скобки для него:
ls /opt/somedir/{aa,bb,cc}
Для получения дополнительной информации читайте о расширении фигурной скобки.
Под ударом, выполненным shopt -s extglob
(или вставленный в него Ваш ~/.bashrc
), и можно использовать дополнительные шаблоны, которые предоставляют регулярным выражениям необычный синтаксис (наследованный от ksh). Можно использовать эти шаблоны в ksh также, конечно, и также в zsh после setopt ksh_glob
.
$ shopt -s extglob
$ ls /opt/somedir/@(aa|bb|cc|doesnotexist)
/opt/somedir/aa /opt/somedir/bb /opt/somedir/cc
В zsh можно непосредственно использовать (foo|bar)
как шаблон.
% ls /opt/somedir/(aa|bb|cc|doesnotexist)
/opt/somedir/aa /opt/somedir/bb /opt/somedir/cc
Обратите внимание, что команду называют с полным путем. Если Вы захотите назвать команду с коротким трактом, то необходимо будет изменить каталог так или иначе, и (cd /opt/somedir && somecommand aa bb cc)
безусловно самый легкий путь.
Можно отфильтровать использование egrep
:
ls | egrep '(aa|bb|cc)'
Найти все текстовые файлы:
ls | egrep '(aa|bb|cc).txt'
Во-первых, я направляю Вас к: никогда не анализируйте ls, никогда. Надлежащий, и канонический способ сделать, что Вы хотите, с находкой.
Например:
find /opt/somedir -regex '.*[aa|bb|cc].*' -exec mv '{}' ~/backup \;
Я обычно использую -name
вместо -regex
поскольку это более просто. Но regex соответствует Вашему варианту использования. Необходимо выполнить команду без -exec
в первый раз для проверки они на самом деле - файлы, которые Вы хотите, переместился/удалил.