LinuxForum.Fans
Тема

команда в команде. невозможно или я что то не знаю?

Автор: moshell 5 сообщений 3557 просмотров
#342957

gu@moshell:~$ grep "^RNC_level.*rncID" cdd/$FILE
RNC_level;rncID;177;from IBIS, as Контроллер (177, 277, 377…);;;;;;;;;
опа, прокатывает.

gu@moshell:~$ grep "^RNC_level.*rncID" cdd/$FILE | awk -F ";" '{print $3}'
177
и тут прокатывает

gu@moshell:~$ grep "^RNC_level.*rncID" cdd/$FILE | awk -F ";" '{print $3}' | sed -e 's/\(^[0-9]\).*/\1/'
1
и здесь прокатило

gu@moshell:~$ grep "RNC`grep "^RNC_level.*rncID" cdd/$FILE | awk -F ";" '{print $3}' | sed -e 's/\(^[0-9]\).*/\1/'`" ntp_servers
RNC1 10.43.64.2 10.43.64.4
и даже до сюда дошло

gu@moshell:~$ grep "RNC`grep "^RNC_level.*rncID" cdd/$FILE | awk -F ";" '{print $3}' | sed -e 's/\(^[0-9]\).*/\1/'`" ntp_servers | awk '{print $2}'
10.43.64.2
вуаля, нужный результат!

gu@moshell:~$ VARIABLE=`grep "RNC`grep "^RNC_level.*rncID" cdd/$FILE | awk -F ";" '{print $3}' | sed -e 's/\(^[0-9]\).*/\1/'`" ntp_servers | awk '{print $2}'`
-bash: command substitution: line 1: unexpected EOF while looking for matching `"'
-bash: command substitution: line 2: ошибка синтаксиса: неожиданный конец файла
-bash: command substitution: line 1: unexpected EOF while looking for matching `"'
-bash: command substitution: line 2: ошибка синтаксиса: неожиданный конец файла
-bash: ^RNC_level.*rncID: команда не найдена
gu@moshell:~$
а вот в переменную его не запихнуть.

ЧЯДНТ?
#342961
"moshell" написал:
ЧЯДНТ?

Видимо, проблемы из-за вложенных обратных кавычек.
Попробуйте так:

text

$ VARIABLE=$(grep "RNC`grep "^RNC_level.*rncID" cdd/$FILE | awk -F ";" '{print $3}' | sed -e 's/\(^[0-9]\).*/\1/'`" ntp_servers | awk '{print $2}')

ЗЫ. А вообще, жуть полная :D

#342971

"moshell" написал:
ЧЯДНТ?
посмотрите пожалйста ещё раз на то, ЧТО вы написали, и подумайте:

В каком месте этому коду самое место?

Да, ВСЁ это можно и нужно сделать ОДНОЙ командой sed.

И да, вложенные `` не допускаются, но допускаются вложенные $()

Наконец, у вас очень всё просто, и понятно ребёнку. Используйте магию eval, и очень сильное колдунство <().
#342980

-=Serj=-, спасибо! можно в кратце, каким образом шайтан машина под управлением скобок правильно интерпретирует то что я хотел?

drBatty написал:

Да, ВСЁ это можно и нужно сделать ОДНОЙ командой sed.

тут два файла замешаны, в первом идет поиск одной штуки, потом идет поиск во втором файле по отфильтрованной штуке из первого поиска.

sed умеет работать сразу с двумя файлами?

-=Serj=- написал:
ЗЫ. А вообще, жуть полная :D

Согласен, зато одной командой :D

#342982

"moshell" написал:
sed умеет работать сразу с двумя файлами?
естественно. Хоть с Over9000.

Как и в любом скриптовом ЯП, в sed есть магия eval в полный рост.
Войдите или зарегистрируйтесь, чтобы ответить.