Grep вывод файла из другого набора команд grep / awk - PullRequest
0 голосов
/ 07 августа 2020

У меня есть команда linux pipe, которая выводит файл следующим образом:

grep "tsmcN" $PROJECT_CDL_INC | awk '{print $2}'

/ p / tech / n5p / tech-prerelease /v0.9.0_pre.10/tsmcN5/cdl_addon/tsmcN5.cdl

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

grep "tsmcN" $PROJECT_CDL_INC | awk '{print $2}'|grep dio

grep dio /p/tech/n5p/tech-prerelease/v0.9.0_pre.10/tsmcN5/cdl_addon/tsmcN5.cdl

.SUBCKT ndio_12_mac PLUS MINUS
.SUBCKT ndio_12_ntn_mac PLUS MINUS
.SUBCKT ndio_hia12_mac PLUS MINUS
.SUBCKT ndio_hia12_ntn_mac PLUS MINUS
.SUBCKT ndio_mac PLUS MINUS
.SUBCKT pdio_12_mac PLUS MINUS
.SUBCKT pdio_hia12_mac PLUS MINUS
.SUBCKT pdio_mac PLUS MINUS

Я знаю, что упускаю что-то тривиальное, но я не мог найти ответы самостоятельно. С уважением, Алан

Ответы [ 2 ]

1 голос
/ 07 августа 2020

grep "tsmcN" $PROJECT_CDL_INC | awk '{print $2}' кажется, выводит список имен файлов. Затем вы, кажется, хотите использовать grep для dio внутри каждого из этих файлов, но вместо этого вы снова используете grep в файле names .

Попробуйте это:

awk '/tsmcN/ "$PROJECT_CDL_INC" |
xargs grep dio
0 голосов
/ 07 августа 2020

С помощью этой команды:

grep "tsmcN" $PROJECT_CDL_INC | awk '{print $2}'|grep dio

вы буквально набираете строку /p/tech/n5p/tech-prerelease/v0.9.0_pre.10/tsmcN5/cdl_addon/tsmcN5.cdl вместо dio

Если вы просите взять это имя файла, а затем grep, файл для дио:

grep "tsmcN" $PROJECT_CDL_INC | cat `awk '{print $2}'` | grep dio
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...