Извлечь текст между (открывающей скобкой и) закрывающей скобкой - PullRequest
0 голосов
/ 17 ноября 2011

Мне нужно извлечь поля из текста ниже между ( и ) в bash.

Дело 1

create or replace
PROCEDURE "Procedure_Name"
(
field1 IN DATE,
field2 IN VARCHAR2,
field3 IN INTEGER
)

Мне нужен следующий вывод:

Выход 1:

field1 DATE, field2 VARCHAR2, field3 INTEGER

Выход 2:

field1, field2, field3

Дело 2

create or replace PROCEDURE "Procedure_Name" (field1 IN DATE,field2 IN VARCHAR2,field3  INTEGER)

Мне нужен следующий вывод:

Выход 1:

field1 DATE, field2 VARCHAR2, field3 INTEGER

Выход 2:

field1, field2, field3

1 Ответ

2 голосов
/ 17 ноября 2011

Выход 1:

$ cat filename | tr '\n' ' ' | grep -o '\(.*\)'  | tr '()' '  ' | sed 's/[IN|OUT]//g' 

Выход 2:

$ cat filename | tr '\n' ' ' | grep -o '\(.*\)'  | tr '()' '  ' | sed 's/[IN|OUT]//g' | sed 's/[DATE|VARCHAR2|INTEGER]//g'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...