Есть ли команда для копирования файлов только до определенной даты, скажем, 20120901? Кроме того, я хотел бы сделать это с помощью возможности cp -p (например, исходная метка времени сохраняется).
Да, вы должны уметь делать это с помощью комбинации "осязание и поиск".
# Create a file with the desired timestamp
touch -d 20120901 /tmp/timefile
# Find all files older than that and act on them
find $PATH -type -f -and -not -newer /tmp/timefile -print0 | xargs -0 -i % cp -p % /new/location
Итак, что это делает, это находит все файлы в каталоге $PATH
которые были изменены до 1 сентября 2012 г. в 00:00:00 часов, и скопируйте их все в каталог /new/location