Eu tenho isso file.txt
contendo esta lista.
LIST: ACCEPTED - rfhfui4fuw3hjnf43.4fj9u8fhjkszdnvckizfjh489.dfsdf
LIST: ACCEPTED - rfhfui4fuw3hjnf43.fj9u8fhjkszdnvckizfjh489.dfsdf
LIST: ACCEPTED - rfhfui4fuw3hjnf43.4fj9u8fhjkszdnvckizfjh489.dfsdf
LIST: ACCEPTED - rfhfui4fuw3hjnf43.4f.j9u8fhjkszdnv.ckizfjh489.dfsdf
LIST: ACCEPTED - rfhfui4fuw3hjnf.43.4fj9u8fhjkszdnvckizfjh489.dfsdf
O que eu quero que aconteça é saber se file.txt
todas as linhas correspondem a um padrão que desejo encontrar.
Por exemplo, se o padrão ACCEPTED
corresponder a todas as linhas de file.txt
então echo "All lines are Accepted"
.
Acho que grep
tem a resposta para isso, mas ainda estou experimentando e ainda sem sorte.
Eu quero usar isso com uma if...else
condição.
Isso se resume a encontrar pelo menos uma linha que não corresponda ao padrão, então:
O
[ ! -s file ]
assume quefile
é um arquivo regular (ele verifica o tamanho do arquivo que, para alguns outros tipos de arquivos, como fifo, dispositivos em alguns sistemas como o Linux pode ser 0, mesmo que o arquivo contenha dados).Com
awk
:Para encontrar os arquivos (regulares) que foram ACEITOS em todas as suas linhas:
(
-readable
não disponível em todas asfind
implementações)