我需要在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
答案 0 :(得分:2)
输出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'