LINUX.ORG.RU

Как отобразить только файлы, содержащие и буквы и цифры?

 , , ,


0

1

в общем хочу разобраться в шаблонах регулярных выражений.

набрал в баше:

$ ls +([0-9])
123
т.к. есть единственный файл 123, содержащий только цифры.

а нужно чо бы показал файлы, в которых содержались и буквы и цифры.

пробывал:

$ ls +(([a-Z])&([0-9]))
ls: невозможно получить доступ к '+(([a-Z])&([0-9]))': Нет такого файла или каталога

$ ls +([a-Z],[0-9])
ls: невозможно получить доступ к '+([a-Z],[0-9])': Нет такого файла или каталога

ну и т.д. но ничего не получается. не пойму как енто сделать.

★★

кажется нашел чото похожее, но есть одно но... почему то отображает содержимое вложенных каталогов:

$ ls  +([a-Z]*[0-9])
f1  f6s6s6s6s6  fdsafdsa34343  gxtuner-2.1.tar.bz2  testdisk-7.0.linux26-x86_64.tar.bz2

bitcoin-0.11.2:
bin  include  lib

bitcoin-0.12.1:
aclocal.m4  autom4te.cache  config.log     configure     contrib  doc      libbitcoinconsensus.pc     libtool   Makefile.am  qa     src
autogen.sh  build-aux       config.status  configure.ac  COPYING  INSTALL  libbitcoinconsensus.pc.in  Makefile  Makefile.in  share

bitcoin-0.13.0:
bin  include  lib

msi-keyboard-msi-keyboard-0.3.1:
msi-keyboard-msi-keyboard-0.3.1

teamviewer_12.0.71510_i386:
teamviewer

testdisk-7.0.linux26-x86_64:
testdisk-7.0

safocl ★★ ()
Ответ на: комментарий от safocl

как я понимаю, команда ls тут выполняется для всех найденных по шаблону имен, а не выводит именно их.

safocl ★★ ()

Ты определись, что тебе нужно, только файлы или все имена.

Если ты хочешь вывести все имена включая директории, то у ls есть ключ -d который выводит имена директорий вместо их листинга. Или вообще замени ls на echo.

Если ты хочешь вывести только обычные файлы, но не директории, то в баше, тебе нужно использовать find или делать проверку в цикле. А вот zsh есть классификаторы и можно отсеивать файлы по типу.

surefire ★★★ ()
Ответ на: комментарий от surefire

ага, все понял, спс. да с флагом -d роббит норма и echo тоже... еще вопрос, а как вывод echo перенаправить в переменную?

safocl ★★ ()
Ответ на: комментарий от surefire

о точно. спс.. чото я с утра совсем туплю... любой же вывод команды можно ведь использовать как в качестве данных переменной

safocl ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.