Manipulação de texto em massa?

Manipulação de texto em massa?

Tenho um arquivo de texto com algumas centenas de milhares de palavras. Por exemplo:

word1
word2
etc

Quero saber qual programa posso usar para facilmente:

  1. Adicione "FRONT" à frente do texto e
  2. Adicione "VOLTAR" ao final do texto

Então eu terminaria com:

FRONTword1BACK
FRONTword2BACK
FRONTetcBACK

Posso fazer isso facilmente codificando em PHP, mas quero saber se existe uma maneira mais rápida, com a ferramenta correta? Talvez isso possa ser feito em algo como notepad ++, ou scite, ou na pior das hipóteses, linha de comando do Linux.

Nota: eu preferiria um editor visual baseado no WINDOWS.

Responder1

No NotePad++ substitua uma expressão regular:

Encontre o que: ^(.*)$

Substitua por: FRENTE\1PARA TRÁS

O que está acontecendo em termos de regex?

^ - corresponde ao início da linha
$ - corresponde ao final da linha
.* - corresponde a tudo o que está no meio (entre colchetes para marcá-lo como um grupo)

A substituição é simplesmente o que você deseja corrigir antes e depois e o valor do primeiro grupo regex (ou seja, tudo na linha) imprensado no meio.

Responder2

VIM funciona no Windows. Se você nunca o usou, poderá ter problemas para começar, mas se aprender o básico, toda a magia estará disponível.

1) Adicione algo antes do primeiro caractere de cada linha:

  • Vá para a primeira linha, primeira coluna.
  • Ctrl+vCtrl+q para entrar no modo de bloqueio visual.
  • Ctrl+g para ir para a última linha.
  • Shift+i para entrar no modo de inserção visual.
  • Digite o texto e pressione Esc. O texto deve aparecer em todas as linhas.

2) Adicione algo no final. Se todas as palavras tiverem o mesmo comprimento, você pode fazer conforme descrito acima. Caso contrário, use macros.

  • Vá para a primeira linha.
  • Pressione 'q' duas vezes. O primeiro inicia a gravação, o segundo escolhe um buffer para gravar (pode ser qualquer letra).
  • Shift+a para começar a inserir texto no final da linha.
  • Digite o texto desejado.
  • Esc para interromper a inserção.
  • Seta para baixo ou 'j' para ir para a próxima linha.
  • 'q' novamente para parar a gravação.
  • Agora você pode reproduzir a ação gravada digitando '@@' ou '@q'. '@@' reproduz o último registro, '@q' reproduz aquele que está no buffer 'q' (a mesma coisa neste exemplo).
  • Digite '1000@@' para reproduzir a macro 1000 vezes.

informação relacionada