como usar o grep para arquivos específicos?

4

por exemplo eu digito

ls -altr | grep "23 Dec"

então ele mostrará arquivos apenas para 23 de dezembro e eu quero usar o grep para eles, como

ls -altr | grep "23 Dec" | xargs grep -l "some_string"

mas isso não funciona)

Como fazer isso?

    
por VextoR 25.12.2012 / 07:14

2 respostas

5

Se você quiser usar o seu caminho, tente talvez:

ls -altr | grep "23 Dec" | awk '{print $9}' | xargs -i grep -l "some_string" {}

ou com find eu faria:

find . -type f -newermt 2012-12-23 ! -newermt 2012-12-24 -exec grep -l "some_string" {} \;

No comando find, não esqueça o ponto e vírgula escapado. Observe também que o find funciona da mesma maneira que xargs quando usado com a opção -exec.

    
por 25.12.2012 / 07:27
1

Se você estava tentando encontrar alguns arquivos, isso foi modificado em uma data específica,

não haveria necessidade de pipe, (ls usa o tempo de modificação por padrão)

find . -type f -newermt 2012-12-23 ! -newermt 2012-12-24 -iname '*some_string*'

    
por 25.12.2012 / 07:25

Tags