как использовать grep для определенных файлов?

например, я печатаю

ls -altr | grep "23 Dec" 

поэтому он будет показывать файлы только на 23 декабря, и я хочу использовать grep для них, например

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

но это не работает)

Как это сделать?

Если вы хотите использовать свой путь, попробуйте, может быть:

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

или с find я бы сделал:

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

В команде find не забудьте пропущенную точку с запятой. Также обратите внимание, что find работает так же, как и xargs когда используется с параметром -exec.

Если вы пытались найти некоторые файлы, которые были изменены в определенную дату,

там не будет необходимости в трубе, (ls использует время модификации по умолчанию)

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