removido 
		 
		(usa Nenhuma)
		 
		Enviado em 16/03/2017 - 11:40h 
		msoliver escreveu:
PauloHAC escreveu:
Supondo que eu quero editar a linha que contem a palavra "Banana" no arquivo abaixo, mas somente a linha que vem depois da palavra "Melancia". Como faço isso usando "sed" ou "awk"?
Laranja 
Banana 
Melancia 
Banana  
  
Bom dia Paulo.
Verifique se atende as necessidades:
nl=$(grep -n 'Banana' frutas.txt|awk -F: 'END{print$1}')  
sed -i "${nl}s/.*/ESTA LINHA FOI ALTERADA/" frutas.txt
Marcelo Oliver
 
 
Grande Marcelo,
Pelo que entendi a palavra "Melancia" deve ser referência.
Creio que tenham formas mais simples, mas fiz algumas alterações no seu script.
$ cat fruta.txt 
Laranja 
Banana 
Melancia 
Banana 
Morango 
Banana  
    #!/bin/bash 
 
PALAVRA="Melancia" 
FRUTA=$(grep $PALAVRA -A 1 fruta.txt | tail -1) 
NL=$(grep -n $PALAVRA -A 1 fruta.txt | tail -1 | cut -d '-' -f 1) 
 
if [[ $FRUTA == "Banana" ]]; then sed -i "$NL s/.*/ESTA LINHA FOI ALTERADA/" fruta.txt; else echo 'Nao encontrado'; fi