Выберите Вершину N файлы на основе даты модификации и rsync их

Я довольно плохо знаком с Linux, и я пытаюсь передать некоторые файлы N на основе Даты Модификации.

Я нашел эту командуls -tr | head -100, чтобы к моему пониманию, перечислит Лучшие 100 Файлов (направляйтесь-100) На основе даты модификации (-t, новейший первый), но инвертированный (-r инвертирует список, таким образом, это самым старым первый теперь?).

Но затем на моем следующем шаге, который является к rsync ими, я все еще не могу выяснить, могу ли я использовать | (символ вертикальной черты) или && (амперсанд)

таким образом, на данный момент у меня есть это: ls -tr | head -350 | rsync * <remote-host>, но по-видимому rsync * передаст все. Таким образом, я застреваю с этим на данный момент. я должен поместить первые 2 команды в rsync? или я мог использовать awk команда?

любой help/head-up с удовольствием ценится.

1
задан 10 October 2014 в 21:37

2 ответа

Вы также можете использовать поиск.

find DIR -maxdepth 1 -type f -newermt DATE -exec rsync {} destination \;

Итак, допустим, вы хотите rsync файлы в определенном каталоге, без каких-либо папок или файлов в папках в определенном каталоге с 21 сентября 2014 года до сих пор. Команда, которую вам нужно будет выполнить:

find /path/to/dir -maxdepth 1 -type f -newermt 20140921 -exec rsync {} destination \;
0
ответ дан 4 August 2019 в 22:54

Если Вы знаете наверняка, что имена файлов не содержат пробел или символы неASCII, можно использовать

rsync `ls -tp | grep -v / | head -n <n>` <destination> <options>
0
ответ дан 4 August 2019 в 22:54

Другие вопросы по тегам:

Похожие вопросы: