Извлечь имена файлов со структурой каталога в CSV-файл (отдельный файл csv для каждого имени изображения)

У меня есть структура папок, например: –

Type1 Type 2 | | ---------------------------------------------------------------------------------------- | | | subType1 subType2 subType1 | | | ---------------------------------------------------------------------------------------------------------- | | | | | | typeA typeB typeA typeB typeA typeB ------------------------------------------------------------------------------------------------------------- | | | | | | | | | | | | | | | | | | F1 F2 F3 F1 F2 F3 F1 F2 F3 F1 F2 F3 F1 F2 F3 F1 F2 F3 | | | | | | | | \/ \/ \/ \/ -------------------------------------------------------------------------------------------------------------- | | | | | | | | | | black red blue black red black red blue black red 

В каждой папке цвета есть некоторые изображения 🙁 и многие другие)

  Type1-subType1-typeA-black-dfsdf1.JPG Type1-subType1-typeB-black-one.JPG Type1-subType1-typeA-red-dfsdf1.JPG Type1-subType1-typeB-red-one.JPG Type1-subType1-typeA-blue-dfsdf1.JPG Type1-subType1-typeB-black-oh.JPG Type1-subType1-typeA-black-2dsfsdf.JPG Type1-subType1-typeB-red-oh.JPG Type1-subType1-typeA-red-2dsfsdf.JPG Type1-subType1-typeA-blue-2dsfsdf.JPG Type1-subType1-typeA-black-3asdfdf3.JPG Type1-subType1-typeA-red-3asdfdf3.JPG Type1-subType1-typeA-blue-3asdfdf3.JPG Type1-subType2-typeB-black-SSS.JPG Type2-subType1-typeB-black-5.JPG Type1-subType2-typeB-red-SSS.JPG Type2-subType1-typeB-black-5.JPG Type1-subType2-typeB-blue-SSS.JPG Type2-subType1-typeB-black-565.JPG Type1-subType2-typeB-black-AAA.JPG Type2-subType1-typeB-black-565.JPG Type1-subType2-typeB-red-AAA.JPG Type1-subType2-typeB-blue-AAA.JPG 

Я хочу читать каждое изображение и сохранять в отдельный файл csv. Таким образом, формат файла csv будет:
Для структуры папок Type1-subType1-typeA -dfsdf1.JPG into file1.csv

  Image name |colour | subcat| subtype | Type1 | Type1-subType1-typeA-black-dfsdf1.JPG | black | typeA | subType1 | Type1 | Type1-subType1-typeA-red-dfsdf1.JPG | red | typeA | subType1 | Type1 | Type1-subType1-typeA-blue-dfsdf1.JPG | blue | typeA | subType1 | Type1 | 

Для структуры папок Type1-subType1-typeA -2dsfsdf.jpg file2.csv

  Image name |colour | subcat| subtype | Type1 | Type1-subType1-typeA-black-2dsfsdf.JPG | black | typeA | subType1 | Type1 | Type1-subType1-typeA-red-2dsfsdf.JPG | red | typeA | subType1 | Type1 | Type1-subType1-typeA-blue-2dsfsdf.JPG | blue | typeA | subType1 | Type1 

И так далее для других папок также. Как я могу получить желаемый результат?

Примечание. Название изображения отражает структуру папок.

До сих пор я читал все изображения из разных папок в один файл csv. Вот мой вывод:

  Image name |colour | subcat| subtype | Type1 | Type1-subType1-typeA-black-dfsdf1.JPG | black | typeA | subType1 | Type1 | Type1-subType1-typeA-red-dfsdf1.JPG | red | typeA | subType1 | Type1 | Type1-subType1-typeA-blue-dfsdf1.JPG | blue | typeA | subType1 | Type1 | Type1-subType1-typeA-black-2dsfsdf.JPG | black | typeA | subType1 | Type1 | Type1-subType1-typeA-red-2dsfsdf.JPG | red | typeA | subType1 | Type1 | Type1-subType1-typeA-blue-2dsfsdf.JPG | blue | typeA | subType1 | Type1 | Type1-subType1-typeA-black-3asdfdf3.JPG | black | typeA | subType1 | Type1 | Type1-subType1-typeA-red-3asdfdf3.JPG | red | typeA | subType1 | Type1 | Type1-subType1-typeA-blue-3asdfdf3.JPG | blue | typeA | subType1 | Type1 | Type1-subType2-typeB-black-SSS.JPG | black | typeB | subType2 | Type1 | Type1-subType2-typeB-red-SSS.JPG | red | typeB | subType2 | Type1 | Type1-subType2-typeB-blue-SSS.JPG | blue | typeB | subType2 | Type1 | Type1-subType2-typeB-black-AAA.JPG | black | typeB | subType2 | Type1 | Type1-subType2-typeB-red-AAA.JPG | red | typeB | subType2 | Type1 | Type1-subType2-typeB-blue-AAA.JPG | blue | typeB | subType2 | Type1 | 

Пожалуйста, предложите, как я могу достичь желаемого результата.

  • Нет USB 04b4: 0307 микрофонный вход после Ubuntu 10.04
  • Время выполнения вычисления pi в сценариях оболочки
  • Использование кодирования RAW-видео с gstreamer & VLC
  • Samba не показывает символические ссылки
  • Задайте настройки прокси-сервера Ubuntu без перезагрузки из командной строки
  • Linux на старом компьютере Dell
  • Как подключить приложение, установленное с терминала, к панели запуска в Ubuntu
  • " Предполагая, что кэш диска: напишите через« Необходимо скрыть это сообщение!
  • One Solution collect form web for “Извлечь имена файлов со структурой каталога в CSV-файл (отдельный файл csv для каждого имени изображения)”

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

    Я бы использовал awk для разбора имени файла

     ls | awk -F- '{printf "%s,%s,%s,%s,%s,\n",$0,$4,$3,$2,$1}' > file.csv 

    где

    • -F- сказать awk для использования – как разделитель
    • $0 целая строка
    • $4..$1 поле
    Linux и Unix - лучшая ОС в мире.