Как скопировать определенное количество отсортированных файлов? (например, 11 ГБ)

Я хотел бы скопировать в общей сложности 11 ГБ файлов (весь тип .mp3 для этого вопроса) из папки ~/ABC/ в ~/DEF/ . И мне нравится делать это для отсортированных файлов по убыванию по дате, последней измененной / измененной в ABC (т. Е. Файл, который был изменен совсем недавно, должен сначала скопироваться).

Имена файлов содержат пробелы и символы, такие как & и / и так далее.

Я немного огляделся и до сих пор, и использование кода из (несколько) связанных вопросов не выглядит разумным imho (не то, чтобы я был хорошим судьей).

Как я могу это сделать? 🙂

  • Создавать копии файлов в одном каталоге
  • Рекурсивный ход (`mv -rn`, например` cp -rn`), перемещение, которое будет перемещать только файлы, не отображаемые
  • Копирование файлов с несколькими расширениями
  • Какова добавленная стоимость опции -T в GNU cp и mv?
  • Заменить кучу файлов, поддерживающих путь
  • cp после того, как xargs не работает
  • Почему это работает: «cp image.bin / dev / mapper / loop0p1»?
  • заставить scp вести себя так, как предполагается (удаленная программа копирования файлов)
  • One Solution collect form web for “Как скопировать определенное количество отсортированных файлов? (например, 11 ГБ)”

    Я уверен, что есть лучший способ сделать это, но я надеюсь, что это поможет. LIMIT – это сумма для копирования в килобайтах.

     #! /bin/bash LIMIT='11534336' size='0' if [[ -e $1 && -d $2 ]];then echo "copying contents from $1 to $2" else echo "Usage: $0 SOURCE DEST" exit fi for i in $(ls -t $1); do var="$(echo $(du -s $(realpath $1/$i)))" IFS=" " read var1 var2 <<< "$var" let "size += $var1" if [[ $size -lt $LIMIT ]];then echo "copying " $var2 "to $2" cp -r $var2 $2 else exit fi done 
    Interesting Posts

    Узнать, сколько программ я не установил из списка с помощью grep / awk в archlinux

    Автоматизация последовательности команд монтажа

    Источник беспроводного драйвера Broadcom vs dkms

    Grep для конкретного элемента

    Могу ли я использовать Xmodmap только для определенного устройства?

    Проблемы с файловой системой с двойной загрузкой с / Etc / Hosts и Profile

    Почему sed меняет разрешения файла на cifs, установленном share?

    Отключить xscreensaver, когда программа запущена?

    Удаление большого количества файлов (exec, loops ..)

    В чем разница между .profile и .bash_profile и почему у меня нет файла .profile в моей системе?

    Как добавить другой префикс для каждой строки в grep-выходе?

    Почему я не могу удалить пустой каталог с именем пользователя www-data?

    Запуск программ с правами root с моим собственным паролем в Scientific Linux / Red Hat / Fedora / CentOS

    «Сеть недоступна», github, bitbucket не работает

    Перенаправление звука Ssh

    Linux и Unix - лучшая ОС в мире.