Como posso automatizar esta tarefa no Notepad ++?

0

Eu tenho um arquivo de texto com mais de 200 nomes de tabelas. Amostra como esta

T_BCPCOMITEE_EA4
T_BCPEMERSIT_EA4
T_BCPROLE_EA4
T_BDR_AG_EA4
T_BDR_CRITERIA_EA4

Eu preciso pegar o nome da tabela e adicionar uma instrução select. A saída final deve ser como htis

--T_BCPCOMITEE_EA4
select * from T_BCPCOMITEE_EA4;
--T_BCPEMERSIT_EA4
select * from T_BCPEMERSIT_EA4;
--T_BCPROLE_EA4
select * from T_BCPROLE_EA4;
--T_BDR_AG_EA4
select * from T_BDR_AG_EA4;
--T_BDR_CRITERIA_EA4
select * from T_BDR_CRITERIA_EA4;

Existe alguma maneira de automatizar essa tarefa? Por favor ajude. TIA

    
por RaMs_YearnsToLearn 22.09.2014 / 11:47

1 resposta

2

A maneira mais fácil de fazer isso é encontrar um regex para localizar e substituir.

Isso é feito indo para Search na barra de ferramentas e selecionando Replace... , ou usando a combinação de teclas CTRL + H .

Verifique se você selecionou Regular expression no canto inferior direito e certifique-se de que . matches newline esteja desmarcado (isso é importante para o regex funcionar como pretendido).

OBSERVAÇÃO: Esta solução de expressão regular supõe que cada linha tenha um nome de tabela separado e completo (como em, nenhum nome de tabela é dividido em várias linhas e cada linha contém apenas um único nome de tabela).

Coloque o seguinte na caixa "Localizar":

^(.*)

Coloque o seguinte na caixa "Substituir":

--\nSELECT * FROM ;

Explicação

A string regex pode ser dividida da seguinte forma:

O ^ é um início de âncora de linha e garante que o regex corresponda ao início de cada linha. Isso garante que não pegue linhas extras acidentalmente.

O grupo (.*) é usado para corresponder qualquer caractere ( . ) a qualquer número de vezes ( * ) e, em seguida, disponibilizar esses caracteres para a sequência de substituição ( () ) usando o formato de espaço reservado $x , onde x é o número do grupo (que aumenta sequencialmente, com 1 sendo o primeiro, 2 sendo o segundo e assim por diante).

A string de substituição pode ser dividida da seguinte forma:

-- é usado para imprimir dois caracteres - literais, seguidos por todos os caracteres que foram correspondidos na regex (o grupo (.*) ), que são inseridos no lugar de .

O \n é usado para adicionar uma nova linha à string de substituição ( \r\n pode precisar ser usado no lugar, dependendo do seu sistema operacional, mas atualmente estou supondo que \n sozinho funcionará ).

A seção SELECT * FROM ; é usada para imprimir a string como vista, exceto que é substituído pelos caracteres correspondentes como antes (que será o nome da tabela).

    
por 22.09.2014 / 12:10