从ash命令中查找和替换文本文件

时间:2013-06-07 01:18:08

标签: string replace busybox ash

我需要在运行ash shell和有限busybox的相当小的嵌入式系统上修改几个html文件中的href URL。可用的唯一功能是:

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}"

但它似乎不起作用灰:语法错误:错误替换

任何帮助表示赞赏! 感谢

1 个答案:

答案 0 :(得分:0)

替换是不好的,因为你在alpha之后立即使用两个正斜杠。你想要的模式是$ {VARIABLE / FINDSTR / REPLACEMENT}。例如:

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

但是,似乎没有命令将文件中的字符串读入变量。也就是说,没有猫,头,尾。

因此,如果没有某种方法可以将HTML文件中的数据导入脚本中,我认为您已经陷入困境。