drBatty, прошу меня простить за не внимательность но задач много а я один. Ведать отвлекся малехо и попутал файлы. На самом деле Вариант от уважаемого Lupo Alberto:
#!/bin/sh
find /volume1/test -type f \( -name "*.txt" -o -name "*.m3u" \) -exec sed -i 's/192\.168\.1\.56/10\.0\.1\.56/g' {} \;
На аппарате Synology не работает. Да и из всех испробованных вариантов (а вариантов было опробовано много) поиска и замены, работает только вариант от Lupo Alberto:
#!/bin/sh
find /volume1/test -type f -name "*.txt" -exec sed -i 's/192\.168\.1\.56/192\.168\.178\.111/g' "{}" \;
Но в нем ограничения по форматам поиску по каталогам.
Ваш последний вариант тоже не прокатил.
В идеале на данный момент мне в скрипт нужно указать три папки:
/volume1/2D_movie_cat
/volume1/3D_movie_cat
/volume1/dune_home_cat
В данных каталогах (и подкаталогах) в файлах .txt и .m3u нужно:
найти 192.168.1.56 заменить на 10.0.1.56
найти Multimedia заменить на Family_archives
В качестве эксперемента для .m3u изменил работоспособный скрипт:
#!/bin/sh
find /volume1/test -type f -name "*.m3u" -exec sed -i 's/192\.168\.1\.56/192\.168\.178\.111/g' "{}" \;
Замена не произошла. Но после того как удалил точку в названии файла (.list.m3u) на "list.m3u", скрипт покорно сделал свое дело.
Что нужно менять в скрипте (уже согласен и на два отдельных но работоспособных на synology скрипта)?