Пишу скрипт который будет работать в busybox, шелл ash, sed, grep и прочие утилиты имеют минимальный набор опций (как то, у grep нет опции -o).Есть строка формата $(cat /proc/cmdline)
#!/bin/sh
name="myopt=par1,par2 opt1=par11,par22,par23 myopt=par3,par4 myopt=par5"
echo -E "$name" | sed -n -e 's/\(^\| \)myopt=\([^ ]*\)/(\2)/g;p'
результат
(par1,par2) opt1=par11,par22,par23 (par3,par4)(par5)
хочу получить значения в скобках через символ в $IFS.
Вот моё решение, но оно не универсально, и по-моему, некрасиво. Хочу простого!
#!/bin/sh
name="myopt=par1,par2 opt1=par11,par22,par23 myopt=par3,par4 myopt=par5"
name="x $name x"
echo -E "$name" |
sed -n -e 's/ myopt=[^ ]*/\n&\n/gp' |
grep -e '^ myopt=' |
sed -n -e 's/^ myopt=//;s/,/ /g;p'
результат
par1 par2
par3 par4
par5
PS. awk нет (т.к. весит он много) да и не знаю я его.