Я довольно плохо знаком с 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 с удовольствием ценится.
Вы также можете использовать поиск.
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 \;
Если Вы знаете наверняка, что имена файлов не содержат пробел или символы неASCII, можно использовать
rsync `ls -tp | grep -v / | head -n <n>` <destination> <options>