Столкнулись с задачей переноса файлов с записью разговоров с Linux сервера на Windows машину.
У одного из наших клиентов установлен Asterisk в качестве IP-АТС. На нем настроено автоматическое сохранение записей разговоров. Сервер был установлен очень давно и без использования каких-либо GUI, все работает надежно и стабильно, но администрировать его не совсем удобно.
И вот, наша команда столкнулась с задачей переноса файлов с записью разговоров с Linux сервера на Windows машину.
Но так как:
- Имена файлов сохраняются в формате
АБОНЕНТ1-АБОНЕНТ2-ДАТА-ЧАС:МИН:СЕК.wav
- Количество файлов внушительное.
Пришлось искать решение для массового переименования файлов в каталоге.
При попытке переноса файлов между системами по протоколу SMB, Windows игнорировало все что идет после спец-символов в имени, и следовательно переписывала файлы.
Как и обычно - решение до банальности простое!
- Заходим через SSH в каталог, файлы из которого будем переносить.
- Вводим команду:
for i in *:*.wav; do ni=${i//:/-}; mv "$i" "$ni"; done
После чего можем смело копировать файлы, все спец-символы из имен будут удалены.
Надеюсь, был полезным! Удачи!
Если статья оказалась полезной - поделись ссылкой с друзьями - кнопки ниже!