Перемещение файлов из разных подпапок в подпапки

У меня есть разные папки, содержащие файлы как таковые:

/.example1/example1.txt /.example1/example2.txt /.example2/example1.txt /.example2/example2.txt etc. 

И хотите найти способ перемещения каждого из файлов в подпапку родительской папки, например:

 /.example1/folder/example1.txt /.example1/folder/example2.txt /.example2/folder/example1.txt /.example2/folder/example2.txt etc. 

Любые идеи по быстрому и простому способу сделать это для большого количества файлов? Я уже пробовал играть с find но без большой удачи.

  • POSIX-совместимый / кросс-shell-способ для получения версии запущенной оболочки?
  • Debian: umount / media / usb0: «Операция не разрешена»
  • Получать уведомление-отправлять, чтобы очистить себя от лотка уведомлений
  • Все подпроцессы - Bash (!),
  • переименовывать файлы с помощью команды rename
  • tar: Неожиданный EOF в архиве
  • прочитать файл и присвоить значения другому файлу
  • Как убить этот процесс в bash
  • 2 Solutions collect form web for “Перемещение файлов из разных подпапок в подпапки”

    Вы можете сделать это с помощью GNU версий find и mv следующим образом:

     find . -mindepth 2 -maxdepth 2 -type f -execdir mv -vt ./folder/. {} + 

    Где мы ограничиваем find для поиска обычных файлов на 2 уровня, а затем с -execdir опции -execdir для перемещения выбранных файлов в folder подкаталога, которая смежна с выбранными файлами.

     find /.example1 -name example*.txt" -type f | awk -F\/ '{ for(i=1;i<=NF-1;i++) { path=path$i"/" } } END { print "mv "$0" "path"folder/"$NF }' | sh 

    Сделайте поиск во всех файлах примеров в каталоге и затем проанализируйте возвращаемый вывод с помощью awk, сформировав команду перемещения, которая выполняется с sh

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