Manipulação de texto em massa?

1

Eu tenho um arquivo de texto de algumas centenas de milhares de palavras. Por exemplo:

word1
word2
etc

Eu quero saber qual programa eu posso usar para:

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

Então eu acabaria com:

FRONTword1BACK
FRONTword2BACK
FRONTetcBACK

Eu posso facilmente fazer isso codificando-o em PHP, mas eu 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 pior cenário, linha de comando linux.

Nota: Eu preferiria um editor visual baseado em WINDOWS.

    
por coderama 17.08.2012 / 12:08

2 respostas

3

No NotePad ++, substitua uma expressão regular:

Find what: ^(.*)$

Replace with: FRONTBACK

O que está acontecendo em termos de regex?

^ - corresponde ao início da linha
$ - corresponde ao fim da linha | . * - corresponde a tudo entre (entre parênteses para marcá-lo como um grupo)

A substituição é simplesmente o que você deseja pré e pós correção e o valor do primeiro grupo regex (ou seja, tudo na linha) colocado no meio.

    
por 17.08.2012 / 12:37
2

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

1) Adicione algo na frente do primeiro caractere em todas as linhas:

  • Ir para a primeira linha, primeira coluna.
  • Ctrl + v
Ctrl + q para entrar no modo de bloco 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 tamanho, você pode fazer conforme descrito acima. Se não usar macros.

    • Ir para a primeira linha.
    • Pressione 'q' duas vezes. Primeiro começa a gravaçã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'. '@@' repete o último registro, '@q' reproduz o que está no buffer 'q' (a mesma coisa neste exemplo).
    • Digite '1000 @@' para repetir a macro 1000 vezes.
    por 17.08.2012 / 12:23