0

我运行了一个 sql 脚本,该脚本使用游标sp_table_privileges在数据库中的每个表上执行。

如果您运行脚本并将输出保存到文件中,您会在每次迭代后得到:

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)通过使用正则表达式替换来删除 Notepad++ 中的内容,(\(.*\))但它用空行替换了它。

所以现在我有 3 个空行,下一个表名和列。

我知道您可以删除 Notepad++ 中的空白行

但是,我可以使用正则表达式找到 3 个空行,删除它们和它们下面的两行吗?

如果没有,有没有更好的方法来做到这一点?

4

2 回答 2

2

如果我正确理解你的话。寻找

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

替换为(全部替换)

leave empty

框“.matches newline”未选中

如果您想删除三个空行下方的所有内容,请找到

(\r\n){3}.*

替换为(全部替换)

leave empty

在这种情况下,必须选中“.matches newline”框

于 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”...等,以便您只保留数据、数据、数据等?

[使用 Placido 对问题作者的解决方案进行编辑]

看看,这就是你想要的,对吗?

在此处输入图像描述

进而 :

在此处输入图像描述

于 2013-01-10T17:14:07.300 回答