Найти и заменить внутри текстового файла из команды ash

Мне нужно изменить URL-адреса href в нескольких html-файлах в довольно небольшой встроенной системе, которая запускает оболочку ash и ограниченный busybox. Доступны только следующие функции:

ash, brctl, chmod, cp, dnsd, free, halt, ifconfig, init, kill,ls, mkdir, mknod, mount, mv, ping, poweroff, printf, ps, reboot, rm, route, sh, sleep, syslogd, telnetd, umount, vconfig, wc

Итак, нет sed, нет эха и т. Д. Мне нужно найти решение для сопоставления с образцом!...

Я нашел этот трюк ksh:

alpha='This is a test string in which the word "test" is replaced.' beta="${alpha//test/replace}"

но, похоже, это не работает с пеплом: синтаксическая ошибка: неверная замена

Любая помощь приветствуется! Спасибо


person user2461794    schedule 07.06.2013    source источник


Ответы (1)


Замена плохая, потому что вы используете две косые черты сразу после альфы. Вам нужен шаблон ${VARIABLE/FINDSTR/REPLACEMENT}. Например:

A="foobar" && echo ${A/foo/bar}

Однако, похоже, нет команды для чтения строки из файла в переменную. То есть ни кота, ни головы, ни хвоста.

Итак, без какого-либо способа получить данные из файла HTML в скрипт, я думаю, вы застряли.

person Brad    schedule 20.05.2015