Часто бывает нужно заменить содержимое файла, переименовать группу файлов или еще как то отредактировать список, вот в таких случаях на помощь приходит Perl. Примеры ниже покажут насколько удобно пользоваться Перлом из командной строки .

Заменить слово в “helpline” на “hotline” и сохранить бэкап файла в *.bak.

perl -p -i.bak -e '$_ =~ s/helpline/hotline/g' queue_log

 

Переименовать группу файлов  noise_*.wav в *.wav

ls -l *.wav | perl -e 'while(<>) {chomp; if (m/noise_(\d)/.wav) {print "$_  $1\n"; system("mv noise_$1\.wav $1.wav");}}

 

Конвертируем из alaw в wav

ls | perl -e 'while(<>) {chomp; if(m/^(.+)\.alaw/) {print $1; print "\n"; system("sox -t raw -b -A -r 8000 $1.alaw -t wav -u -b $1.wav");}}'

 

Если у нас .wav файл с частотой 44кГц, то сэймпл до 8 кГц можно поменять так.

ls | perl -e 'while(<>){chomp;if(m/^(.+)\.wav/){print"$1.wav\n";system("sox $1.wav -c 1 -r 8000 $1-out.wav");}}'

Пока все. Сюда буду добавлять по мере необходимости, остальные наработки.