Еще раз, найти
может прийти на помощь. Вы можете найти выборочно размолвка
файлы в подпапках первого уровня, затем используйте -execdir
Команда, которая перемещает найденный файл в папку TIFF в текущем каталоге.
Вы можете вызвать небольшой скрипт, который проверяет наличие папки TIFF или создает ее перед перемещением всех файлов TIFF, но в этот единственный раз, вероятно, проще работать в два этапа: 1) создать папку TIFF в любом из нужных вам папок и 2) переместите туда файлы TIFF
найти . -maxdepth 1 -type d -path '*/*' -exec mkdir {}/TIFF \;
найдет папки «1», «2» и т. д., если ваш текущий каталог содержит эти папки, и создаст каталог TIFF в каждом из них. Появится сообщение об ошибке, если папка TIFF уже существует.
Затем вторая команда может переместить все размолвка
файлы во вновь созданные папки:
найти . -type f -ipath '*/*/*.tif' -execdir mv {} TIFF \;
Здесь мы ищем только файлы (-тип ф
) в папках "1", "2" и т.д., но не ниже из-за шаблона файла (-ипат
). -ипат
в отличие от -дорожка
указывает, что совпадение нечувствительно к регистру. -execdir
action выполняет последующую команду, однако текущая папка является папкой найденного файла. {}
обозначает найденный файл. Из-за -execdir
, это только базовое имя файла. Файл будет перемещен в папку TIFF в текущей папке.
Пробелы в имени файла будут корректно обрабатываться {}
токен.Кавычки вставлять не надо, хотя можно было бы.