Digamos que haja um arquivo de texto como abaixo:
Hello world
types=""
Mario
types="Game"
O que eu quero fazer é encontrar a primeira ocorrência type=""
e acrescentar a palavra "programa". Eu preciso de saída como:
Hello world
types="program"
Mario
types="Game"
Eu preciso usar isso em scripts de shell Unix. O que eu tentei é:
sed -i '1,/types=""/s/types=""/types="program"/' filename
Pela aparência do comando, ele está apenas inserindo, não anexando. Tentei adicionar a\
, mas ainda não está funcionando.
Responder1
Sua sed
substituição de uma linha parece já funcionar como pretendido:
$ cat t.txt
Hello world
types=""
Mario
types="Game"
$ sed '1,/types=""/s/types=""/types="program"/' t.txt
Hello world
types="program"
Mario
types="Game"
Talvez valha a pena editar sua pergunta para mostrar o quevocêget quando você executa seu sed
comando (sem a -i
opção para que os resultados sejam impressos no terminal).
Aliás, seu alcance 1,/types=""/
é redundante. Você pode simplificá-lo como:
sed '/types=""/s/types=""/types="program"/' t.txt