Como faço para inverter as ordens de linha de um documento com mais de 500 linhas?

3
Line 1
Line 2
Line 3
Line 4
Line 5

deve se tornar

Line 5
Line 4
Line 3
Line 2
Line 1

Eu preciso de um script de bloco de notas para fazer isso.

    
por Manish 02.11.2011 / 17:31

5 respostas

7

Se você tiver Perl instalado, poderá usar

perl -e 'print reverse <> ' filename > newfile

Como em

$ cat file.txt
line 1
line 2
line 3
line 4
line 5
$ perl -e 'print reverse <>' file.txt > new.txt
$ cat new.txt
line 5
line 4
line 3
line 2
line 1

(é o mesmo no Windows, mas usa type em vez de cat e usa aspas duplas (") no comando perl .)

Você marcou sua pergunta "bloco de notas" e mencionou "bloco de notas" no texto. Se você quiser uma solução usando o "notepad ++", você deve editar a questão de acordo.

    
por 02.11.2011 / 17:36
4

Este é um processo de três etapas no Notepad ++ usando o TextFX.

  1. Selecione o documento inteiro ( ctrl + A ) (ou a seção que deseja inverter) e, no menu TextFX, selecione TextFX Tools -> Insert Line Numbers .
  2. No menu TextFX, verifique se TextFX Tools -> +Sort ascending está desmarcado e selecione TextFX Tools -> Sort lines case sensitive (at column) . Isso irá inverter a ordem das linhas.
  3. No menu TextFX, selecione TextFX Tools -> Delete Line Numbers or First Word e pronto.

O aplicativo Notepad que acompanha o Windows é praticamente inútil. Existem muitas alternativas, mas eu prefiro o Notepad ++.

    
por 02.11.2011 / 20:50
3

O bloco de notas, a menos que você queira dizer algo diferente do que vem com o sistema operacional Windows, não é programável por scripts. Se você usasse o Vim, seria simplesmente

:g/^/m0
    
por 02.11.2011 / 17:43
0

Você poderia tentar tac que inverte linha por linha

tac filename
    
por 12.12.2011 / 19:26
0

Se você estava seguindo um script pronto, o centro de script tem uma contribuição da comunidade (ou seja, não foi escrita pela Microsoft)

link

    
por 13.12.2011 / 23:01