1

Можете ли вы сказать мне любую команду для сортировки / копирования / удаления каталогов, которые были изменены (или созданы, хотя Linux не показывает это) в конкретную дату, т.е. вчера, и они находятся в другом каталоге?

2 ответа2

1

Я бы использовал find и указать -mtime

так например

cd /var/log/apache2
find *.log -mtime -1  -exec ls -l --time-style=iso {} \;

выведет следующее:

-rw-r ----- 1 root adm 440 09-10 20:00 error.log

-rw-r ----- 1 root adm 3944602 09-11 02:08 other_vhosts_access.log

если бы я хотел скопировать их, я бы сделал следующее:

find * .log -mtime -1 -exec cp -v {} /tmp / \;

будет выводить:

error.log' ->/tmp/error.log'

other_vhosts_access.log' ->/tmp/other_vhosts_access.log'

больше на mtime:

For example:

find . -mtime 0   # find files modified between now and 1 day ago
                  # (i.e., within the past 24 hours)
find . -mtime -1  # find files modified less than 1 day ago
                  # (i.e., within the past 24 hours, as before)
find . -mtime 1   # find files modified between 24 and 48 hours ago
find . -mtime +1  # find files modified more than 48 hours ago

find . -mmin +5 -mmin -10 # find files modified between
                          # 6 and 9 minutes ago

источник: http://content.hccfl.edu/pollock/unix/findcmd.htm

-1

Вы можете использовать конвейерные команды для достижения этой цели. Надеюсь это поможет.

rmdir `ls -lt | grep -v "\`date '+%h %d'\`" | awk '{print $NF}'` 

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .