Я пытаюсь переместить файлы так:
...
DLG023-00-01-sprite.TextGrid.json
DLG023-00-01.prosody.json
DLG023-01-01-sprite.ogg
DLG023-00-02-sprite.TextGrid.json
DLG023-00-02.prosody.json
DLG023-01-02-sprite.ogg
...
DLG028-00-01-sprite.TextGrid.json
DLG028-00-01.prosody.json
DLG028-01-01-sprite.ogg
...
в соответствующие папки, например: переместите файл в dialog023 dialogue023/
когда он начинается с DLG023
; к диалогу 024 dialogue024/
когда он начинается с DLG024
; и так далее.
Все файлы и каталоги находятся на одном уровне.
Другими словами, я пытаюсь создать такие команды:
mv DLG023-00-01-sprite.ogg dialogue023/
Как я могу извлечь первое число из имени файла?
Пока у меня есть это:
for i in DLG*-*-*-sprite.ogg; do echo "${i//[^0-9]}";done
Но при этом выводятся все цифры (например, 230001), когда мне нужна только первая (например, 23).