2017-02-07 1 views
1

Команда команды cat объединяет все текстовые файлы. Я не хочу, чтобы старые файлы i.e файлов, созданные в предыдущие дни, были объединены в выходной файл. Я хочу только конкатенацию текстовых файлов текущего дня в выходной файл.Как я могу конкатенировать файлы в каталоге linux/unix, которые генерируются только в один день?

ответ

2

Использование находкой:

find . -mtime -1 -type f -exec cat {} >> output.txt \; 

Это конкатенации только файлы, которые были изменены с тех пор один день назад до сих пор, есть и другие параметры, такие как atime (время доступа) ctime (измененное время). Вам нужно запустить команду в каталоге, где находятся файлы, которые вы хотите конкатенатировать.

обновление:

Также есть -newermt вариант для find, который будет захватывать файлы, которые были изменены или изменены после определенного времени с временной строкой, как 2017-02-07 13:12:33:

find . -newermt '2017-02-07 13:12:33' -type f -exec cat {} >> output.txt \; 
+0

я думаю, что это добавляет все файлы, которые были доступны 24 часа назад. как я могу получить текущий день, например, {2/feb/2017} файлы, которые будут конкатенированы. но дата не должна быть статической декларацией .. – venky513

+0

@ venky513 проверить мое обновление – armnotstrong

+0

спасибо #armnotstrong – venky513

Смежные вопросы