Eu tenho a linha número 55 em um arquivo de texto que quero mover logo antes da linha número 23 no mesmo arquivo de texto. Eu sei que você pode mover linhas por um certo número de linhas 1 , 2 , mas é possível anexar ou preceder uma linha a outra linha em vez da maneira detalhada de mover linhas para cima ou para baixo em um arquivo de texto?
Estou aberto a respostas usando vim, sed ou qualquer outra ferramenta de linha de comando, mas quanto mais conciso, melhor
atualizar:
O sed
comando i
insere texto antes de uma linha que é semelhante ao que estou procurando, exceto que quero inserir uma linha antes de uma linha
Um editor de scripts torna isso bastante simples!
Isso envia dois comandos para
ed
(editar o arquivo chamadoinput
):55m22
-- move a linha 55 após a linha 22wq
-- salve o arquivo de volta no disco e saia.Um pouco mais curto:
É um pouco mais longo em
vi
do que emed
:55G
... vá para a linha 55dd
... exclua uma linha23G
... vá para a linha 23P
... cole a linha excluída antes da linha 23ZZ
... escreva o arquivo e saia