moshell, тогда огласите правильное условие.
Количество вхождений, соответственно, число.
О каких именно пробелах идёт речь? В некоторых конструкциях они обязательны.
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 на сколько я знаю
условие должно быть таким
если количество строк == 3,
то действие,
любое другое количество строк, => действия не нужно, то есть даже указывать ничего не надо
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
не могу, я дома.
быть может еще как то можно идентифицировать количество rbslocalcell?
на глаз то видно, а как скрипту это понять?
решение нашлось в виду того, что, сколько сот == столько и записей содержащих рег.выр при комманде
get cell avail
то есть количество строк, другими словами.
В этом примере кавычки расставлены неправильно: в bash нет необходимости заключать строковой литерал в кавычки; но вам обязательно следует закавычить переменную, если вы не уверены, что она не содержит пробелов или знаков подстановки (wildcards).
Этот код ошибочен по двум причинам:
1. Если переменная, используемая в условии [, не существует или пуста, строка
[ $foo = "bar" ]
будет воспринята как
[ = "bar" ]
что вызовет ошибку «unary operator expected». (Оператор "=" бинарный, а не унарный, поэтому команда [ будет в шоке от такого синтаксиса)
2. Если переменная содержит пробел внутри себя, она будет разбита на разные слова перед тем, как будет обработана командой [:
[ multiple words here = "bar" ]
Даже если лично вам кажется, что это нормально, такой синтаксис является ошибочным.
Правильно будет так:
[ "$foo" = bar ] # уже близко!
Но этот вариант не будет работать, если $foo начинается с -.
В bash для решения этой проблемы может быть использовано ключевое слово [[, которое включает в себя и значительно расширяет старую команду test (также известную как [)
[[ $foo = bar ]] # правильно!
Внутри [[ и ]] уже не нужно брать в кавычки названия переменных, поскольку переменные больше не разбиваются на слова и даже пустые переменные обрабатываются корректно. С другой стороны, даже если лишний раз взять их в кавычки, это ничему не повредит.
Возможно, вы видели код типа такого:
[ x"$foo" = xbar ] # тоже правильно!
вот в чем был косяг.
откуда же такая трава у разработчиков?
простите за ламерский вопрос.
как подавить перенос строк в команде cat?
в man cat не нашел такого.
например есть такая опция nano -w не переносит слова.
нужно то же самое только для cat