Grep pattern em ksh [duplicado]

1

uma pequena pergunta sobre o grep.

Estou fazendo:

find . -type d

E eu tenho três diretórios:

./backup-2013-11-27
./backup-2013-11-26
./backup-2013-11-28

Se eu só quiser recuperar o de 11/26, eu faço:

find . -type d | grep "2013.*11.*26"

e funciona.

No entanto, não consigo entender por que:

find . -type d | grep "2013*11*26"

não funciona ...
Na verdade, eu não estou usando o regexp aqui, estou usando o padrão, então * deve ser usado como curinga, ou não?

    
por user1058398 28.11.2013 / 13:07

1 resposta

2

grep usa uma correspondência de expressão regular diferente da shell korn.

É por isso que é necessário que o grep inclua o .* (combine qualquer caracter 0 ou mais vezes). Em ksh (e em bash ) você usa apenas * para esse padrão.

A grep way é geralmente chamada de padrão regex e ksh padrão curinga.

    
por 28.11.2013 / 13:15

Tags