Como encontrar um arquivo no Unix usando o comando find?

0

Eu tenho procurado por um arquivo que contém um padrão específico. O padrão é em si uma variável tmpfl

echo $tmpfl --> ack_2*

Agora, para encontrar o arquivo no diretório de trabalho atual que estou tentando usar

find . -name $tmpfl

find . -name ($tmpfl)

mas nenhum deles parece funcionar. Embora

find . -name ack_2*

funciona como um encanto.

O que há de errado na abordagem? É simples substituição de variáveis no Unix, certo? Então, o que estou perdendo?

    
por recmach 24.11.2014 / 13:55

2 respostas

1

Você precisa colocar "" em torno de sua variável.

find . -name "$tmpfl"
    
por 24.11.2014 / 14:07
1

Descobri que há certas situações (além de espaços em branco ou caracteres não imprimíveis) que exigem aspas duplas em torno do parâmetro -name , independentemente de o parâmetro ser uma variável ou um valor codificado. É sempre bom ter o hábito de usá-los.

    
por 24.11.2014 / 14:35

Tags