Как вывести в терминале файлы по именам, в которых есть двузначные цифы и более?
Имеется, допустим, ряд файлов
test1212test.txt
test1211test.txt
test12test.txt
test21test.txt
test2121test.txt
test33test.txt
test1test.txt
test2test.txt
test3test.txt
Например, для того, чтобы вывести файлы test1test.txt test2test.txt нужно набрать следующую команду в терминале: ls test[12]test.txt
Терминал выведет следующее: test1test.txt test2test.txt
Как вывести через ls файлы test1211test.txt test1212test.txt таким же образом?
Через квадратные скобки не получается - ограничены числами 0-9.
Если надо вывести файлы с 4-мя цифрами в середине, надо указать так
test\d{4}test.txt. Если от 2 до 4 цифр,то так
test\d{2,4}test.txt. Дальше по аналогии.
Или если абстрактно отвлечься.Между test и test.txt стоят несколько символов, не важно, цифр или букв. Тогда можно так попробовать. Хоть некрасиво, но работает.
Или если надо цифры по порядку выводить, то как-то так
warnerbrowsers: Ваш ответ почти полностью исчерпал вопрос.
Единственное, если мне надо вывести два файла с именами test1211test.txt и test1212test.txt из множества, то просто между ними ставится запятая и они выводятся.
ls -l text{1211,1212}test.txt
Спасибо Вам.
warnerbrowsers: Вопрос возник во время чтения книги по Linux. Можно было, конечно, после нее прочитать книги по bash, я думаю вопрос бы отпал, однако было невтерпёж))
Andranik: Смотрите как надо понимать - в квадратных скобках указаны все возможные символы (в вашем начальном варианте [12] - либо 1, либо 2, [12111212] - либо 1, либо 2, либо 1, либо 1, ... ). Плюс обозначает повторение 1 и более раз ([1234567890]+ - любая цифра, любая цифра, опять любая цифра, ...). Также есть звездочка - повторение 0 и более раз.
Спасибо за ответ.
В данной ситуации он не выведет именно эти файлы test1211test.txt test1212test.txt
т.е. если сделать по аналогии ls test[12111212]test.txt , то выведет также test1test.txt test2test.txt
Вот мне интересно, а как тогда искать если цифры двух- трех- четырехзначные.
В литературе не нашел. В инете тоже.
Я не знаю почему, но я набираю ровно тоже самое в терминале, но список не выдает, а просто переходит на новую строку пустую с курсором.
Может настроить надо терминал или с grep-ом в настройках повозиться.