executa um comando se uma string estiver presente em um arquivo

0

Eu tenho um arquivo com a string "TEST" nele (sem aspas) Como posso executar um comando para verificar se a string está nesse arquivo e gerar um resultado diferente dependendo de se a string está no arquivo

    
por 9291Sam 16.07.2017 / 14:43

2 respostas

2

Uma maneira comum é usar o status de saída de um comando grep

grep -qF TEST file && <command>

dado

$ cat > somefile
This file contains TEST string
$ cat > otherfile
This file doesn't contain the string

então

$ grep -qF TEST somefile && echo "Do something"
Do something
$ grep -qF TEST otherfile && echo "Do something"
$ 
    
por steeldriver 16.07.2017 / 14:52
2

Eu descobri

 if grep -q "$STRING" "$FILENAME"; 
 then echo "Yes" ;
 else echo "No" ; 
 fi 

Trabalhei para mim

    
por 9291Sam 16.07.2017 / 15:02