Adicionar variável ao início da linha, não usando sed

1

Eu tenho um arquivo de texto onde eu gostaria de adicionar uma string no começo da linha, no entanto, ele tem caracteres especiais e o sed reclama sobre isso.

O aviso que recebo é:

sed: 1: "s/^/curl curliian.bxss ...": bad flag in substitute command: 'b'

Então eu tentei escapar do ponto:

dirnamer="$(dirname $1 | sed 's/\./\./g')"

O que não funcionou, tentei escapar do b , o que também não funcionou. Então, sim, isso é o que eu faço agora:

sed -i '' "s/^/curl $dirnamer/g" ~/desktop/download

Mas parece que há muitos problemas relacionados ao sed, devido a caracteres especiais. Qual o melhor método?

    
por DisplayName 07.12.2015 / 13:40

1 resposta

1

Este comando do awk funciona bem.

awk '{print "curl $dirnamer|" $0;}'

Ou fazendo isso para a variável antes:

sed 's/\/b/\b/g' | sed 's/\/t/\t/g'
    
por 07.12.2015 / 13:47