чем?
/ethernet/
может встретится где угодно. и далее тоже.
чем?
/ethernet/
может встретится где угодно. и далее тоже.
в данном случае мы работаем с определенным блоком текста
в данном случае мы работаем с определенным блоком текста
ваша голова, ваши грабли
ваша голова, ваши грабли
даже не знаю как это воспринимать
даже не знаю как это воспринимать
очень просто - вы пишете скрипт, и забываете о нём. А через год ваш скрипт намертво валит всю систему. только потому, что какой-то идиот зарегал www.my-ethernet.ru :(
ну приравняем к полям
regex правд не исправил, точка остается в конце, но это мелочи
[console]awk '$2~/ethernet/ || $2~/ddns-fwd-name/ {{ gsub("[\;\"\=]",""); print $3}}' /home/mogul82/test/ww[/console]
все равно короче у меня -)
[console]awk '$2~"^ethernet" || $2~"^ddns-fwd-name" {{ gsub("[\;\"\=]",""); print $3}}' /home/mogul82/test/ww[/console]
оба будут работать правильно
awk '$2~"^ethernet" || $2~"^ddns-fwd-name" {{ gsub("[\;\"\=]",""); print $3}}' /home/mogul82/test/ww
оба будут работать правильно
вот вам эти грабли в лоб уже и заехали:
hardware ethernet 00:xx:xx:a1:e5:b3;НЕ начинается со слова ethernet. Потому-то у меня и длиннее
/^\s*hardware ethernet\s+/
видите лишние символы? :P
на самом деле, на sed почти всегда получается короче всего, ибо там команды всегда в 1 символ. Специальный ЯП для одностроков wink
regex правд не исправил, точка остается в конце, но это мелочи
все равно короче у меня -)
ну фапайте на размер недоделанного однострока. :(
вот вам эти грабли в лоб уже и заехали:
Переменная 2а я для чего поставил
У автора так же определено кстати, только по другому логика работает
http://imglink.ru/pictures/13-06-11/0b5688baa5e555b35acf4351dc15ff8b.jpg
![]()
Ну и раз этот синтаксис статический то можно, еще кучу способов замутить
даже если не статический то можно много чего наработать: с проверкой на определенной строке, менять логику выборки строк и много чего еще
займусь на досуге думаю еще можно укоротить или сделать еще по "шаблонней"
не могу придумать как обойти
172.16.0.56 2011/06/10 2011/06/11 xxx:xxx:xxx:27:a1:01 DIR-320.example.com
172.16.0.56 2011/06/11 2011/06/11 xxx:xxx:xxx:27:a1:01 DIR-320.example.com
чтоб не повторялись.
man uniq
чтоб не повторялись.
можно потом пройтись sort | uniq
в массиве? ну лан пробну.
Спс получилось
foreach $item (@data)
{
$seen{$item}++;
}
@uniq = sort keys %seen;
foreach $line (@uniq)
{
print $line ;
}