на выходе получается что-то типа
ifconfig-push 10.200.0.231 10.200.0.223
надо сделать, что вместо 10.200.0.223 подставлялось ип на еденичку меньше $4. в данном случае должно подставлятся 10.200.0.230. каким образом это вообще можно реализовать?
на выходе получается что-то типа
ifconfig-push 10.200.0.231 10.200.0.223
надо сделать, что вместо 10.200.0.223 подставлялось ип на еденичку меньше $4. в данном случае должно подставлятся 10.200.0.230. каким образом это вообще можно реализовать?
Я Вас тоже не понял. Вы не даёте полных входных данных, но хотите полного решения.
Вот это, что за конструкция? Что внутри файла "/etc/file", чему равна $common_name?
т.е. оттуда тащится айпишник. на $common_name можно не общать внимание и вместо него подставить хоть тот же name
в чем суть скрипта: по name грепается /etc/file, выводится айпишник, затем скрипт от последний цифры отнимает еденицу
и в конце делает вывод в файл: ifconfig-push айпишник, который грепнул айпишник, который грепнул минус еденица в конце
fixx
Ваш вариант у меня не сработал. В последнем октете айпишника вместо нормального значения ставил -1, и выдавал предупреждение:
awk: warning: escape sequence `\.' treated as plain `.'
вот у вас скорее всего awk, в реинкарнации gawk, в нем можно проще тоже самое написать - там есть gensub, или как-то так, который возвращает результат замены, а не заменяет в переменной как gsub/sub
по поводу php, кстати, а зачем делать однострочник на php? - тогда уже проще #!/usr/bin/php и сделать все на нем...