Para obter a primeira correspondência da frase Reindexing
seguida por um número diferente de zero, use (GNU grep):
grep -m1 'Reindexing [1-9]' < input
Então eu tenho este arquivo que eu quero encontrar apenas as linhas que contêm uma certa frase seguida por um número diferente de zero. Estou pensando em usar o grep, mas não sei como formatá-lo para ignorar zeros. Uma linha seria assim:
2009-12-05 : Reindexing 100: [result]
2009-12-07 : Reindexing 0: [result]
E eu só quero a primeira linha.
Obrigado antecipadamente.
Para obter a primeira correspondência da frase Reindexing
seguida por um número diferente de zero, use (GNU grep):
grep -m1 'Reindexing [1-9]' < input
Se você realmente quer dizer "número diferente de zero", ou seja, deseja gerenciar:
você precisa de algo mais poderoso que o grep. Por exemplo:
echo '2009-12-05 : Reindexing -0.7: [result]' | perl -ne 'print if /Reindexing -?(\d+(\.\d+)?+)(?!\w)/ and $1!=0'
Esta solução também excluiria strings como "100abc", que não são números: a parte "(!! \ w)" é o significado lookahead negativo "não seguido por caractere de palavra". Alterando a condição no final, você pode fazer qualquer filtragem que desejar.
Tags command-line