我有txt文件,其中包含數千個創建表語句。在記事本中刪除不需要的字符串++
例如一個create table語句低於:
CREATE TABLE `dim_idi_rig_bkp_2016_07_31`(
`id` double,
`name` string,
`type` string,
`description` string,
`elid` string,
`ingestion_tsp` timestamp)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION
'hdfs://namesvc/landing/hive/warehouse/dr/lz_data_backup_store.db/dim_idi_rig_bkp_2016_07_31'
TBLPROPERTIES (
'COLUMN_STATS_ACCURATE'='true',
'numFiles'='1',
'numRows'='5111',
'rawDataSize'='303830',
'totalSize'='308941',
'transient_lastDdlTime'='1470114511')
我試圖讓表名和存在最後一列名和數據庫名稱。
- 表名之後指定創建一個像CREATE TABLE
dim_idi_rig_bkp_2016_07_31
這裏dim_idi_rig_bkp_2016_07_31是表名在單引號TBALE字。 - 和最後一列名行格式SERDE字之前指定的燒毛報價像
ingestion_tsp
時間戳) 行格式SERDE 這裏ingestion_tsp是最後一列名。 - 數據庫名稱在單引號位置字之後的行狀 位置 指定「HDFS://namesvc/landing/hive/warehouse/dr/lz_data_backup_store.db/dim_idi_rig_bkp_2016_07_31」 這裏lz_data_backup_store是數據庫名。
所以後刪除所有不必要的字符串我的願望輸出列表看起來應該是這樣
<table_name> <last_column_name> <database_name>
在記事本++中,我們如何能夠通過正則表達式實現這一目標。
我試過這個。* word1((?s:。*?))Word2。*但是我只能通過這個名字獲得表名... – user
這不是工作Npp,你應該用你喜歡的腳本語言編寫腳本。 – Toto
它在Java中的困難..你能幫助 – user