Моя структура каталогов выглядит следующим образом
Directory1\file1.jpg
\file2.jpg
\file3.jpg
Directory2\anotherfile1.jpg
\anotherfile2.jpg
\anotherfile3.jpg
Directory3\yetanotherfile1.jpg
\yetanotherfile2.jpg
\yetanotherfile3.jpg
Я пытаюсь использовать командную строку в оболочке bash на ubuntu, чтобы перенести первый файл из каждого каталога и переименовать его в имя каталога и переместить его на один уровень, чтобы он находился рядом с каталогом.
В приведенном выше примере:
-
file1.jpg
будет переименован вDirectory1.jpg
и помещен рядом с папкойDirectory1
-
anotherfile1.jpg
будет переименован вDirectory2.jpg
и помещен рядом с папкой Directory2 -
yetanotherfile1.jpg
будет переименован вDirectory3.jpg
и помещен рядом с папкойDirectory3
Я пробовал использовать:
find . -name "*.jpg"
но он не перечисляет файлы в последовательном порядке (мне нужен первый файл).
Эта строка:
find . -name "*.jpg" -type f -exec ls "{}" +;
перечисляет файлы в правильном порядке, но как я могу выбрать только первый файл в каждом каталоге и переместить его на один уровень?
Любая помощь будет оценена!
Изменить: когда я ссылаюсь на первый файл, я имею в виду, что каждый jpg пронумерован от 0 до любого количества файлов в этой папке - например: file1, file2...... file34, file35 и т.д.... Дело в том, что формат файлов случайный, поэтому нумерация может начинаться с 0 или 1a или 1b и т.д.