Como adicionar texto ao início de uma linha?

3

Eu tenho um arquivo de texto e quero acrescentar um texto à primeira linha. Eu tentei algo assim:

sed -i '1i\'"string" file

No entanto, isso insere uma nova linha no arquivo de texto.

    
por Peanut 29.10.2015 / 10:51

2 respostas

6

Isso deve funcionar com o GNU sed:

sed -i '1s/^/string/' file

é diferente da sua solução ao não adicionar a nova linha.

teste

Antes de executar o comando, o conteúdo do arquivo é este:

some
text
here
already

Depois de executar o comando:

stringsome
text
here
already
    
por 29.10.2015 / 10:57
1

Outra maneira (semelhante a minha resposta em esta questão ):

printf 'string' | paste -d'
printf string | cat - infile > outfile
' - infile > outfile

ou:

{ printf string; cat infile; } > outfile

ou:

printf 'string' | paste -d'
printf string | cat - infile > outfile
' - infile > outfile
    
por 29.10.2015 / 12:46