Может bash список с повторяющейся строкой? Допустим, я хотел сопоставить файлы

config_foo_foo.txt
config_bar_bar.txt

но нет

config_foo_bar.txt

что-то вроде

ls -l config_*_*.txt

соответствует всем трем. Должен ли я использовать что-то вроде grep и регулярного выражения, чтобы получить поведение

3 ответа3

1

Ответ Скотта выглядит правильно. С find это выглядит так:

1.

find * -maxdepth 0 -regex "^config_\(.*\)_\1\.txt$"

Выход:

config_foo_foo.txt
config_bar_bar.txt

2.

find . -mindepth 1 -maxdepth 1 -regex "^\./config_\(.*\)_\1\.txt$"

Выход:

./config_foo_foo.txt
./config_bar_bar.txt
0

Да, попробуйте следующий код (используя Extented glob с):

shopt -s extglob
ls config_!(*foo_bar*).txt

Увидеть

0

Я считаю, что вам может понадобиться что-то вроде

command $(ls -d config_*_*.txt | grep '^config_\(.*\)_\1\.txt$')

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .