LinuxForum.Fans
Тема

Дневники начинающего «гентушника»

Автор: moshell 311 сообщений 59332 просмотров 🔒 закрыта
#230856

спасибо, вот изменил.
не помогает

#!/bin/bash

for file in 'from_mobatch_1/03-00*.log'
do

echo ok1

if
[ 'cat ${file} | grep RbsLocalCell=S | wc -w' -eq 3 ]
then

cat ${file} | grep productName | awk '{print $2}' >> result1
echo ok2

fi;

done
#230857
moshell написал:
спасибо, вот изменил.

Кавычки как были ' так и остались. Нужно `

#230858
moshell написал:
text
cat ${file} | grep productName | awk '{print $2}'

Можно заменить на

text
awk '/productName/ {print $2}' ${file}
#230859

Лупо, ошибка в условии, в качестве аргумента какая переменная должна быть?
стринговая данная или цифра?
может пробелы погасить нужно?

#230861

moshell, тогда огласите правильное условие.
Количество вхождений, соответственно, число.
О каких именно пробелах идёт речь? В некоторых конструкциях они обязательны.

#230864

Lupo Alberto,
cat file | grep RbsLocalCell=S | wc -l
считает количество строк.
при выполнении без скрипта, например
cat file | grep RbsLocalCell=S | wc -l >> example.txt
перед цифрой 3 пробелы неск штук в получаемом файле example.txt

условие должно быть таким
если количество строк == 3,
то действие,
любое другое количество строк, => действия не нужно, то есть даже указывать ничего не надо
if ведь ищет только true и false на сколько я знаю

#230866

moshell, не должно получаться никаких пробелов. Создал тестовый файл — нет никаких пробелов.
Почему вы упорно не хотите использовать?

text
grep 'RbsLocalCell=S' -c file
#230867
moshell написал:
условие должно быть таким
если количество строк == 3,
то действие,
любое другое количество строк, => действия не нужно, то есть даже указывать ничего не надо

http://linuxforum.ru/viewtopic.php?pid=252464#p252464

#230902

esernar@spbmas1> grep RbsLocalCell from_mobatch_1/03-001.log | wc -l
3

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

#230921

moshell, покажите часть (или если не очень большой, полностью) файл 03-001.log.

#230976
Показать
text
Logging to file from_mobatch_1/03-001.log
####################################################################
#            Welcome to MoShell 8.0v (LPA108514/1_R8V)             #
#                Finn Magnusson, Jan Pettersson                    #
#            [url]http://utran01.au.ao.ericsson.se/moshell[/url]              #
#            Contact: Finn.Magnusson@ericsson.com                  #
#                     David.Smith@ericsson.com                     #
####################################################################

Checking ip contact...OK

HELP MENU : h BASIC MO COMMANDS : m OTHER MO COMMANDS : n OTHER COMMANDS : o PM COMMANDS : p QUIT : q

03-001> lt all

120215-16:13:56 10.25.160.231 8.0v stopfile=/tmp/13484 Checking MOM version...RBS_NODE_MODEL_N_1_5 Parsing MOM (cached): /home/esernar/moshell/jarxml/RBS_NODE_MODEL_N_1_5.xml.cache.gz .............................................................Done. Using paramfile /home/esernar/moshell/commonjars/pm/PARAM_RBS_N_1_0.txt Parsing file /home/esernar/moshell/commonjars/pm/PARAM_RBS_N_1_0.txt .............................................................................Done. Fetching IOR file...Done. Connecting to 10.25.160.231:56834 (CorbaSecurity=OFF, corba_class=2, java=1.5.0_24, jacoms=R73D25, jacorb=R73D01) **** Welcome to the Simple Mo Browser (version 3.0)! Trying file=/home/esernar/moshell_logfiles/logs_moshell/tempfiles/20120215-161351_13175/ior13175 **** Test Construction OK ****

$mobrowser_pid = 14086

Connected to 10.25.160.231 (SubNetwork=ONRM_RootMo_R,SubNetwork=RNC01KGD,MeContext=03-001,ManagedElement=1) Connected to 10.25.160.231 (SubNetwork=ONRM_RootMo_R,SubNetwork=RNC01KGD,MeContext=03-001,ManagedElement=1) Last MO: 1953. Loaded 1953 MOs. Total: 1954 MOs.

03-001> get 0

120215-16:14:05 10.25.160.231 8.0v RBS_NODE_MODEL_N_1_5 stopfile=/tmp/13484 ================================================================================================================= 0 ManagedElement=1 ================================================================================================================= ManagedElementId 1 applicationConfiguration t[0] = faultTolerantCoreStates s[1] = ManagedElement=1,Equipment=1,Subrack=1,Slot=1,PlugInUnit=1;Active healthCheckResult Struct{3} >>> 1.healthCheckResultCode = 99 (INITIAL_VALUE) >>> 2.message = >>> 3.startTime = healthCheckSchedule t[0] = logicalName 03-001 mimInfo Struct{3} >>> 1.mimName = RBS_NODE_MODEL_N >>> 2.mimVersion = 1.5 >>> 3.mimRelease = mimName RBS_NODE_MODEL_N productName RBS3216 productNumber 11/COH1092086 productRevision productType Node site 03-001 userLabel 03-001 ================================================================================================================= Total: 1 MOs

03-001> get cell avail

120215-16:14:05 10.25.160.231 8.0v RBS_NODE_MODEL_N_1_5 stopfile=/tmp/13484 ================================================================================================================= MO Attribute Value ================================================================================================================= RbsLocalCell=S2C1 availabilityStatus 0 (NO_STATUS) RbsLocalCell=S1C1 availabilityStatus 0 (NO_STATUS) RbsLocalCell=S3C1 availabilityStatus 0 (NO_STATUS) ================================================================================================================= Total: 3 MOs

03-001> st ru

120215-16:14:06 10.25.160.231 8.0v RBS_NODE_MODEL_N_1_5 stopfile=/tmp/13484 =================================================================================== Proxy Adm State Op. State MO =================================================================================== 38 1 (ENABLED) Equipment=1,RbsSubrack=RU1,RbsSlot=1,AuxPlugInUnit=1,RuDeviceGroup=1 52 1 (ENABLED) Equipment=1,RbsSubrack=RU1,RbsSlot=3,AuxPlugInUnit=1,RuDeviceGroup=1 66 1 (ENABLED) Equipment=1,RbsSubrack=RU1,RbsSlot=2,AuxPlugInUnit=1,RuDeviceGroup=1 225 1 (ENABLED) Equipment=1,Subrack=1,Slot=1,PlugInUnit=1,Cbu=1,GeneralProcessorUnit=1 248 1 (ENABLED) Equipment=1,Subrack=1,Slot=12,PlugInUnit=1,RuifDeviceGroup=1 =================================================================================== Total: 5 MOs

03-001> st AuxPlugInUnit=[123],RetuDeviceGroup=1

120215-16:14:06 10.25.160.231 8.0v RBS_NODE_MODEL_N_1_5 stopfile=/tmp/13484 =================================================================================== Proxy Adm State Op. State MO =================================================================================== 109 1 (ENABLED) Equipment=1,SectorAntenna=1,AuxPlugInUnit=2,RetuDeviceGroup=1 130 1 (ENABLED) Equipment=1,SectorAntenna=2,AuxPlugInUnit=2,RetuDeviceGroup=1 305 1 (ENABLED) Equipment=1,SectorAntenna=3,AuxPlugInUnit=2,RetuDeviceGroup=1 =================================================================================== Total: 3 MOs

03-001> st SectorAntenna=[123],AuxPlugInUnit=2

120215-16:14:06 10.25.160.231 8.0v RBS_NODE_MODEL_N_1_5 stopfile=/tmp/13484 =================================================================================== Proxy Adm State Op. State MO =================================================================================== 108 1 (UNLOCKED) 1 (ENABLED) Equipment=1,SectorAntenna=1,AuxPlugInUnit=2 129 1 (UNLOCKED) 1 (ENABLED) Equipment=1,SectorAntenna=2,AuxPlugInUnit=2 304 1 (UNLOCKED) 1 (ENABLED) Equipment=1,SectorAntenna=3,AuxPlugInUnit=2 =================================================================================== Total: 3 MOs

03-001> st asc

120215-16:14:07 10.25.160.231 8.0v RBS_NODE_MODEL_N_1_5 stopfile=/tmp/13484 =================================================================================== Proxy Adm State Op. State MO =================================================================================== 103 1 (ENABLED) Equipment=1,SectorAntenna=1,AuxPlugInUnit=1,AscDeviceGroup=1 134 1 (ENABLED) Equipment=1,SectorAntenna=2,AuxPlugInUnit=1,AscDeviceGroup=1 310 1 (ENABLED) Equipment=1,SectorAntenna=3,AuxPlugInUnit=1,AscDeviceGroup=1 =================================================================================== Total: 3 MOs

03-001> alt

120215-16:14:07 10.25.160.231 8.0v RBS_NODE_MODEL_N_1_5 stopfile=/tmp/13484 Connecting to 10.25.160.231:56834 (CorbaSecurity=OFF, corba_class=2, java=1.5.0_24, jacoms=R73D25, jacorb=R73D01) Trying file=/home/esernar/moshell_logfiles/logs_moshell/tempfiles/20120215-161351_13175/ior13175 Resolving the alarm service in OMS... Simple Alarm Client initialized... Starting to retrieve active alarms Nr of active alarms are: 0 ==================================================================================================================== Date & Time (Local) S Specific Problem MO (Cause/AdditionalInfo) ==================================================================================================================== >>> Total: 0 Alarms (0 Critical, 0 Major)

03-001> pr riu

120215-16:14:10 10.25.160.231 8.0v RBS_NODE_MODEL_N_1_5 stopfile=/tmp/13484 =================================================================================== Proxy MO =================================================================================== =================================================================================== Total: 0 MOs

03-001> cabx

120215-16:14:10 10.25.160.231 8.0v RBS_NODE_MODEL_N_1_5 stopfile=/tmp/13484 Trying password from script file: /home/esernar/moshell_logfiles/logs_moshell/tempfiles/20120215-161351_13175/monodeCmd13484... ........ ==================================================================================================================== SMN APN BOARD FAULT OPER MAINT PRODUCTNUMBER REV SERIAL DATE TEMP COREMGR ==================================================================================================================== 0 1 CBU1 OFF ON 16HZ ROJ1192209/1 R5G A400740638 20080811 +25C * 0 2 ET-MFX OFF ON OFF ROJ1192315/2 R1B TU8GQ11937 20101022 0 9 RAX12 OFF ON 16HZ ROJ1192187/7 R1C TU8G387530 20080820 0 11 TX6HS-03 OFF ON 16HZ ROJ1192254/7 R1E TU8G376734 20080812 0 12 RUIF OFF ON 16HZ ROJ1192245/2 R2A AE59120479 20080811 --------------------------------------------------------------------------------------------------------------------

================================================================ SMN ProductNr Rev Name Date SerialNr ================================================================ 0 ROJ60947/1 * Subrack DigSubrack 0 ROJ 609 47/1 R2A BACKPLANE 20080710 X911639122 ----------------------------------------------------------------

============================================================================================================================================ SMN APN PORT BOARD FAULT OPER MAINT PRODUCT NR REV SERIAL DATE TEMP ============================================================================================================================================ 0 12 port_0_dev_3 RU21 off steady 16hz KRC11816/3 R3A AE59343486 20080825 22.0 0 12 port_0_dev_3 FU12 OFF ON 16Hz KRC11817/1 R3A TU8F485793 20080817 0 12 port_1_dev_11 ASC off steady 16hz KRY11242/4 R1E TR47722054 20080829 0 12 port_4_dev_4 RU21 off steady 16hz KRC11816/3 R3A AE59296445 20080821 23.0 0 12 port_4_dev_4 FU12 OFF ON 16Hz KRC11817/1 R3A TU8F485800 20080817 0 12 port_5_dev_12 ASC off steady 16hz KRY11242/4 R1E TR47720244 20080829 0 12 port_8_dev_5 RU21 off steady 16hz KRC11816/3 R3A AE59296450 20080821 23.0 0 12 port_8_dev_5 FU12 OFF ON 16Hz KRC11817/1 R3A TU8F485767 20080817 0 12 port_9_dev_13 ASC off steady 16hz KRY11242/4 R1E TR47721946 20080829 --------------------------------------------------------------------------------------------------------------------------------------------

03-001> q!! Bye... Output has been logged to file from_mobatch_1/03-001.log

#230984

moshell, никаких пробелов не получается
[console]
lupo@gentoo-laptop /tmp % grep RbsLocalCell log.txt
RbsLocalCell=S2C1 availabilityStatus 0 (NO_STATUS)
RbsLocalCell=S1C1 availabilityStatus 0 (NO_STATUS)
RbsLocalCell=S3C1 availabilityStatus 0 (NO_STATUS)
lupo@gentoo-laptop /tmp % grep RbsLocalCell log.txt | wc -l
3
lupo@gentoo-laptop /tmp % grep RbsLocalCell -c log.txt
3
[/console]

P.S. Покажите

text

alias | grep grep
#230988

Покажите

text
echo $PS1
text
echo $PS2
#230991

не могу, я дома.
быть может еще как то можно идентифицировать количество rbslocalcell?
на глаз то видно, а как скрипту это понять?
решение нашлось в виду того, что, сколько сот == столько и записей содержащих рег.выр при комманде
get cell avail
то есть количество строк, другими словами.

#231253

3. [ $foo = «bar» ]


В этом примере кавычки расставлены неправильно: в bash нет необходимости заключать строковой литерал в кавычки; но вам обязательно следует закавычить переменную, если вы не уверены, что она не содержит пробелов или знаков подстановки (wildcards).

Этот код ошибочен по двум причинам:

1. Если переменная, используемая в условии [, не существует или пуста, строка

[ $foo = "bar" ]


будет воспринята как

[ = "bar" ]


что вызовет ошибку «unary operator expected». (Оператор "=" бинарный, а не унарный, поэтому команда [ будет в шоке от такого синтаксиса)
2. Если переменная содержит пробел внутри себя, она будет разбита на разные слова перед тем, как будет обработана командой [:
[ multiple words here = "bar" ]

Даже если лично вам кажется, что это нормально, такой синтаксис является ошибочным.

Правильно будет так:

[ "$foo" = bar ] # уже близко!


Но этот вариант не будет работать, если $foo начинается с -.

В bash для решения этой проблемы может быть использовано ключевое слово [[, которое включает в себя и значительно расширяет старую команду test (также известную как [)

[[ $foo = bar ]] # правильно!


Внутри [[ и ]] уже не нужно брать в кавычки названия переменных, поскольку переменные больше не разбиваются на слова и даже пустые переменные обрабатываются корректно. С другой стороны, даже если лишний раз взять их в кавычки, это ничему не повредит.

Возможно, вы видели код типа такого:

[ x"$foo" = xbar ] # тоже правильно!

вот в чем был косяг.
откуда же такая трава у разработчиков?


ps/ это было восхищение

#233208

что то я понять не можу.
Пример 4-5. Позиционные параметры гласит мол

echo "Имя файла сценария: \"`basename $0`\"."
# Добавит путь к имени файла (см. 'basename')

а скрипт не добавляет, да и в вики нашел
http://ru.wikipedia.org/wiki/Basename

Примеры использования

basename /usr/bin/sort — выводит «sort».
basename include/stdio.h .h — выводит «stdio».

где соль?

#237410

простите за ламерский вопрос.
как подавить перенос строк в команде cat?
в man cat не нашел такого.
например есть такая опция nano -w не переносит слова.
нужно то же самое только для cat

#237413

moshell, IMHO, у cat другое предназначение wink
Попробуйте less -S.

#237415

Сворачивает строки не cat, а терминал, если речь идёт про вывод на консоль/терминал.
Можно при таком выводе обрезать длинные строки:

cat file | cut -c - $(tput cols)

Или определив аналогичную функцию, использовать её при выводе:

function nowrap { cut -c -$(tput cols); }

cat file | nowrap

#237418

спасибо)

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