2017-07-27 3 views
0

私は、DDLファイルを持っていると私は、コマンドにcat employee.sql | grep -i 'TABLE'抽出テーブル名

DDL

CREATE TABLE TEMP_EMPLOYEE(
     ID VARCHAR(255), 
     NAME VARCHAR(150), 
     ADDRESS VARCHAR(150), 
     STREET VARCHAR(150), 
     SUBURB VARCHAR(100), 
     STATE VARCHAR(100) 
     ); 

CREATE TABLE TEMP_EMPLOYEE(

を使用して、以下の行を抽出することができgrepコマンドを使用して私が欲しいです上記の文字列からさらにテーブル名を抽出する。どのようにして助けてくれるの?私はsedを使用しましたが、同じ文字列を印刷しています。

+1

ddl抽出サンプルを追加 – vkrams

答えて

4

は、私は、GNU grepを使用することをお勧め:

grep -Po 'CREATE TABLE \K[^(]*' employee.sql 

をまたはGNUのsedの:

sed -n 's/CREATE TABLE \(.*\)(/\1/p' employee.sql 

やawkの:

awk -F '[(]' '/CREATE TABLE/ {print $3}' employee.sql 

出力:

 
TEMP_EMPLOYEE 
+0

sedはGNU固有ではなく、どこでも動作します。 –

関連する問題