0

sp_table_privilegesカーソルを使用してデータベース内の各テーブルで実行する SQL スクリプトを実行しました。

スクリプトを実行して出力をファイルに保存すると、各反復後に次のようになります。

data,data,data,data,data,data,data

(x row(s) affected)

next_table_name
TABLE_QUALIFIER,TABLE_OWNER,TABLE_NAME,GRANTOR,GRANTEE,PRIVILEGE,IS_GRANTABLE

(x row(s) affected)正規表現 replace with を使用して Notepad ++を削除できまし(\(.*\))たが、空白行に置き換えられました。

これで、次のテーブル名と列の 3 つの空白行ができました。

Notepad++ で空白行を削除できることは知っています。

しかし、正規表現を使用して 3 つの空白行を見つけ、それらとその下の 2 行を削除することはできますか?

そうでない場合、これを行うより良い方法はありますか?

4

2 に答える 2

2

私があなたを正しく理解したなら。探す

(\r\n){4}.*\r\n.*

(すべて置換)に置き換えます

leave empty

ボックス「.matchesnewline」はチェックを外したままにします

そして、3つの空の行の下にあるすべてを削除したい場合は

(\r\n){3}.*

(すべて置換)に置き換えます

leave empty

この場合、ボックス「.matchesnewline」をチェックする必要があります

于 2013-01-10T17:17:16.037 に答える
1

明確にするために:正規表現を適用すると、私のスクリーンショットのようなものが得られますか?正しい ?そして、ここで行うように 3 つの空白行を削除しますか?

ここに画像の説明を入力

そして、あなたは得る:

> data,data,data,data,data,data,data 
> next_table_name
> TABLE_QUALIFIER,TABLE_OWNER,TABLE_NAME,GRANTOR,GRANTEE,PRIVILEGE,IS_GRANTABLE

そして、「next..」と「TABLE_QUALIFIER」などを自動的に削除したいので、データ、データ、データなどを保持しますか?

[質問の著者のためのプラシドのソリューションで編集]

見てください、それはあなたが望んでいたものですよね?

ここに画像の説明を入力

その後 :

ここに画像の説明を入力

于 2013-01-10T17:14:07.300 に答える