Добрый день!
Возникла загвоздка при написании скрипта.
В каталог /var/ftp/upload кидаются файлы записи разговоров формата 13-07-31__09-32_205_988007007757.mp3
Нужно выбрать файлы, содержащие «_205_» «_206_» и тд до «_900_» и переместить их в каталог /var/ftp/office/sales1 с сохранением прав.
В каталоге /vat/ftp/office/ три каталога: sales1, sales2, it.
Поскольку mv не умеет сохранять права, я пошел следующим путем:
#!/bin/sh
cp -p /var/ftp/upload*_205_* "/var/ftp/office/205/"
rm /var/ftp/upload_205_
Получаю ошибку:
cp: cannot stat ‘/*_205_*’: No such file or directory
Как я понимаю, он считает «/*_» за регулярку да и вообще не очень красиво вся конструкция выглядит, на каждый номер приходится писать отдельную строчку.
Как можно сделать так, чтобы в скрипте был список номеров, которые должны лежать в каталогах sales1, sales2 и it, например: номера 205,206,207 должны падать в ./sales1/205/* и тд.
Скрипт находил файлы формата _xxx_, где x - целое число, проверял есть ли каталог с таким именем в ./sales1/ или ./sales2/, если нет, то создавал и перемещал с сохранением прав, если есть то просто перемещал.