Linux - убираем спецсимволы для переноса на Windows

Linux - убираем спецсимволы для переноса на Windows
Задать вопрос
Наши специалисты ответят на любой интересующий вопрос по услуге

У одного из наших клиентов установлен Asterisk в качестве IP-АТС. На нем настроено автоматическое сохранение записей разговоров. Сервер был установлен очень давно и без использования каких-либо GUI, все работает надежно и стабильно, но администрировать его не совсем удобно.

И вот, наша команда столкнулась с задачей переноса файлов с записью разговоров с Linux сервера на Windows машину. 

Но так как:

  1. Имена файлов сохраняются в формате
    АБОНЕНТ1-АБОНЕНТ2-ДАТА-ЧАС:МИН:СЕК.wav
  2. Количество файлов внушительное.

Пришлось искать решение для массового переименования файлов в каталоге.

При попытке переноса файлов между системами по протоколу SMB, Windows игнорировало все что идет после спец-символов в имени, и следовательно переписывала файлы.

Как и обычно - решение до банальности простое!

  1. Заходим через SSH в каталог, файлы из которого будем переносить.
  2. Вводим команду:
    for i in *:*.wav; do ni=${i//:/-}; mv "$i" "$ni"; done

После чего можем смело копировать файлы, все спец-символы из имен будут удалены.

Надеюсь, был полезным! Удачи!

Если статья оказалась полезной - поделись ссылкой с друзьями - кнопки ниже!

Цель нашей компании - предоставление высококачественных ИТ-услуг предприятиям малого и среднего бизнеса.