curingas de Bash repetidos

0

Pode bash list com uma string repetida? Vamos dizer que eu queria combinar os arquivos

config_foo_foo.txt
config_bar_bar.txt

mas NÃO

config_foo_bar.txt

algo como

ls -l config_*_*.txt

combina todos os três. Eu teria que usar algo como grep e uma expressão regular para obter o comportamento

    
por f4hy 10.10.2012 / 21:32

3 respostas

1

A resposta de Scott parece certa. Com o find, é assim:

1.

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

Saída:

config_foo_foo.txt
config_bar_bar.txt

2.

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

Saída:

./config_foo_foo.txt
./config_bar_bar.txt
    
por 10.10.2012 / 22:54
0

Sim, tente o seguinte código (usando glob s):

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

Veja

por 10.10.2012 / 21:36
0

Eu acredito que você pode precisar fazer algo como

command $(ls -d config_*_*.txt | grep '^config_\(.*\)_\.txt$')
    
por 10.10.2012 / 22:28