LinuxForum.Fans
Тема

Печатать строку непосредственно перед регулярным выражением

Автор: moshell 16 сообщений 2383 просмотров
#286098

Печатать строку непосредственно перед регулярным выражением, но не печатать строку содержащую регулярное выражение:

sed -n '/regexp/{g;1!p;};h'


в соляре не работает.

есть ли модификация для соляриса этой команды?

text
esernar@moocs1n> egrep "maxTotalOutputPower|Sector=" for_check_power_rnc_rbs_param/U8.log
RbsSubrack=RUW1,RbsSlot=11,AuxPlugInUnit=RUW-1,DeviceGroup=RUW,TpaDeviceSet=1,TpaDevice=1 maxTotalOutputPower -1
 >>> reservedBy = NodeBFunction=1,Sector=3,Carrier=1
RbsSubrack=RUW1,RbsSlot=3,AuxPlugInUnit=RUW-1,DeviceGroup=RUW,TpaDeviceSet=1,TpaDevice=1 maxTotalOutputPower -1
 >>> reservedBy = NodeBFunction=1,Sector=1,Carrier=1
RbsSubrack=RUW1,RbsSlot=7,AuxPlugInUnit=RUW-1,DeviceGroup=RUW,TpaDeviceSet=1,TpaDevice=1 maxTotalOutputPower -1
 >>> reservedBy = NodeBFunction=1,Sector=2,Carrier=1

причем в первом случае выдает одну ошибку, а во втором и всех последующих другую..

text
esernar@moocs1n> egrep "maxTotalOutputPower|Sector=" for_check_power_rnc_rbs_param/U8.log | sed -n '/Sector=1/{g;1!p;};h'
p: Event not found.

esernar@moocs1n> egrep "maxTotalOutputPower|Sector=" for_check_power_rnc_rbs_param/U8.log | sed -n '/Sector=1/{g;1;};h' sed: command garbled: /Sector=1/{g;1;};h

#286100
text
egrep -vB 1

?

#286101
-=Serj=- написал:
text
egrep -vB 1

?

text
esernar@moocs1n> egrep "maxTotalOutputPower|Sector=" for_check_power_rnc_rbs_param/U8.log
RbsSubrack=RUW1,RbsSlot=11,AuxPlugInUnit=RUW-1,DeviceGroup=RUW,TpaDeviceSet=1,TpaDevice=1 maxTotalOutputPower -1
 >>> reservedBy = NodeBFunction=1,Sector=3,Carrier=1
RbsSubrack=RUW1,RbsSlot=3,AuxPlugInUnit=RUW-1,DeviceGroup=RUW,TpaDeviceSet=1,TpaDevice=1 maxTotalOutputPower -1
 >>> reservedBy = NodeBFunction=1,Sector=1,Carrier=1
RbsSubrack=RUW1,RbsSlot=7,AuxPlugInUnit=RUW-1,DeviceGroup=RUW,TpaDeviceSet=1,TpaDevice=1 maxTotalOutputPower -1
 >>> reservedBy = NodeBFunction=1,Sector=2,Carrier=1
esernar@moocs1n> egrep "maxTotalOutputPower|Sector=" for_check_power_rnc_rbs_param/U8.log | egrep -vA "Sector=1"
egrep: illegal option -- A
usage: egrep [ -bchilnsv ] [ -e exp ] [ -f file ] [ strings ] [ file ] ...
esernar@moocs1n>

пусть вместе со строкой содержащей рег.выр выдает. отсеится грипом.
мне в переменную одну фигню никак не запихать

text
esernar@moocs1n> egrep "maxTotalOutputPower|Sector=" for_check_power_rnc_rbs_param/U8.log | egrep -vB 1 "Sector=1"
egrep: illegal option -- B
usage: egrep [ -bchilnsv ] [ -e exp ] [ -f file ] [ strings ] [ file ] ...
esernar@moocs1n>

moshell, учимся пользваться тегом code или console. Fat-Zer

#286108
"moshell" написал:
есть ли модификация для соляриса этой команды?

на соляре тут не многие сидят... так что для начала можно пойти покурить ман сед...
на сколько я могу судить, скрипт по posix'овским канонам выполнен.

#286109

Мдя, grep-то урезанный в соляре..
По sed нифига не знаю, поэтому могу предложить такой вариант:
1. Получить номера совпадающих строк

text

$ egrep <regexp> -n <file> | cut -d : -f 1

2. Соответственно, номера необходимых строк будут на 1 меньше...

Не?

#286115

sed -n 'N;s/\n/ /;p'



кастыль соединяющий нужные строки. ну а там уже седом отпилить то что нужно в переменную


пс1 закрывайте
пс2 жуть как достала эта соляра.

либо дома ставить соляру и учить ее, чтоб переносить легче было.. либо искать другую работу, где нет соляры

#286116

moshell, а Python там есть?

#286119
-=Serj=- написал:
moshell, а Python там есть?

esernar@moocs1n> whereis python
python: /usr/bin/python /usr/bin/python2.6 /usr/bin/python2.4 /usr/bin/python2.6-config /usr/lib/python2.4 /usr/lib/python2.6 /usr/include/python2.6 /usr/man/man1/python.1

#286120

Тогда проще выучить Python;)

#286121
-=Serj=- написал:
Тогда проще выучить Python;)

согласен. мощный язык гибкий скриптовый.
но я его не знаю

#286133
"moshell" написал:
согласен. мощный язык гибкий скриптовый.но я его не знаю

если нужна более переносимая замена shell/sed, тогда лучше перл...
если умом не тронешься пока учить будешь, то к скиллу написания скритов сразу овер9000 получишь...

ЗЫ: собственно в чём проблема завести дома виртуалочку с солярой?

#286134

"Fat-Zer" написал:
если умом не тронешься пока учить будешь
#286169
Fat-Zer написал:

если умом не тронешься пока учить будешь, то

был б я в классе эдак в 9м..


а хотя..

#287381
Fat-Zer написал:

если умом не тронешься пока учить будешь, то

он в натуре какой то не такой.
чересчур скользкий чтоли..

#287383
"moshell" написал:
чересчур скользкий чтоли..

Его нужно за жабры хватать:)

#287470

да я о положительных качествах.
скользкий - в смысле прикольный, хотя афтор с философией своей задрал, ей богу

лингвист, итить его в голову)

Войдите или зарегистрируйтесь, чтобы ответить.