对于 Notepad++ 中的以下场景,我需要在同一目录中的多个文件中查找和替换(注意“在文件中查找”选项卡)。
文件1查找:
1. REM INSERTING INTO TABLE1
2. SET DEFINE OFF;
3. INSERT INTO TABLE1 VALUES(....);
文件1替换:
1. REM INSERTING INTO TABLE1
2. SET DEFINE OFF;
3. CALL CUSTOM_PACK.PROC_NAME('TABLE1');
4. INSERT INTO TABLE1 VALUES(....);
5. COMMIT;
6. CALL CUSTOM_PACK.PROC_NAME('TABLE1');
文件2查找:
1. REM INSERTING INTO TABLE2
2. SET DEFINE OFF;
3. INSERT INTO TABLE2 VALUES(....);
文件2替换:
1. REM INSERTING INTO TABLE2
2. SET DEFINE OFF;
3. CALL CUSTOM_PACK.PROC_NAME('TABLE2');
4. INSERT INTO TABLE2 VALUES(....);
5. COMMIT;
6. CALL CUSTOM_PACK.PROC_NAME('TABLE2');
等等...而新行 3,5,6 应该从 TABLENAME 自动生成。 任何帮助将不胜感激。
对于每个文件,您可以在正则表达式模式下尝试以下查找和替换:
Find: 1\. REM INSERTING INTO (\w+)\R2\. SET DEFINE OFF;\R3\. INSERT INTO \1 VALUES\(\.\.\.\.\);
Replace: 1. REM INSERTING INTO $1\n2. SET DEFINE OFF;\n3. CALL CUSTOM_PACK.PROC_NAME\('$1'\);\n4. INSERT INTO $1 VALUES\(....\);\n5. COMMIT;\n6. CALL CUSTOM_PACK.PROC_NAME\('$1'\);
作为解释,该模式从第一行捕获表名称,然后在构建新行时使用该表名称。