como mover um bloco de linhas para outra posição com sed?
imagine um arquivo como:
ligne
ligne
toto
tutu
titi
quero ter :
ligne
toto
tutu
titi
ligne
o padrão conhecido é "tutu" e o número da linha de destino "2", e o número das linhas de origem do bloco de texto que quero mover.
então eu quero que ele seja copiado (com 1 linha anterior e 1 linha sucessiva) para uma posição específica que eu já conheço (linha n°2)
Eu tentei :
sed '2,5{ H ;d ; } ; 2{ p ; x ; }' file
mas a parte "colar" não funciona, então exibe apenas:
ligne
Eu realmente não entendo como colar o buffer em um valor numérico de uma linha; & isso e o que eu quero.
Ok, exatamente como está escrito:
Não sed, mas seu ancestral ed :
tutu
e subtraia uma linhatutu
e adicione uma linham
sobre esse bloco para a linha 2 (após a linha1
)w
,q
)Resultando em: