Я полагаю, что "современные инструменты" способ получить Ваш адрес ipv4 должны проанализировать 'IP', а не 'ifconfig', таким образом, это было бы что-то как:
ip4=$(/sbin/ip -o -4 addr list eth0 | awk '{print $4}' | cut -d/ -f1)
ip6=$(/sbin/ip -o -6 addr list eth0 | awk '{print $4}' | cut -d/ -f1)
или что-то как этот.
Можно использовать группы, например:
$ sed -i 's/<\(.*\)>\(.*\)<.*>/<column name="\1">\2<\/column>/g' filename.xml
Вероятно, самая запутывающая часть о REs - то, что существуют различные синтаксические разновидности.
Например, sed и энергия используют основные регулярные выражения, где необходимо заключить в кавычки ()
получить их метазначение.
С расширенными регулярными выражениями (например, awk, egrep и меньше) необходимо заключить в кавычки ()
получить буквальное значение. Существуют подобные различия для других метасимволов.
Объяснение позади BRE ()
семантика - то, что, когда большей частью Вашего входа является C-код затем, это более практично для заключения в кавычки круглых скобок для метаиспользования.
(
и)
персонажи. Глупый вопрос, но почему это необходимо? – Mike 14.09.2011, 22:12