NOTA: Esta pergunta é o complemento das perguntas e respostas: Como "grep" para o comprimento da linha em um determinado intervalo?
Como podemos grep para linhas com menos de 8 ou mais de 63 caracteres, nenhuma que contenha mais de oito e menos de 63 caracteres?
Assim, algumas contagens de caracteres aceitáveis podem ser ...
7 6 5 4 3 2 1 0
...e...
64 65 66 67 ...
text-processing
grep
regular-expression
LoukiosValentine79
fonte
fonte
grep
, mas pode considerarawk
, especialmente se precisar de mais processamento, etc (muito flexível e legível ): #awk '( length($0)<8 ) || ( length($0)>63 )'
ação padrão de uma condição é imprimir as linhas correspondentes à condição. Ou, com menos processamento em US $ 0:awk '{ l=length($0) ; if (( l<8 ) || l>63 ) { print $0 ;} }'
Respostas:
grep
O-x
interruptor de denota uma correspondência de linha inteira - ou seja, qualquer padrão encontrado deve definir uma linha da cabeça à cauda. fazendo ...... é geralmente equivalente a ...
grep
A-v
opção de nega a influência de um padrão na seleção de linha. geralmente fazendo ...... seleciona apenas as linhas que correspondem ao padrão, mas com um
-v
padrão negado, apenas as linhas que não correspondem são selecionadas....e entao...
... corresponde a todas as linhas que consistem da cabeça à cauda de qualquer lugar entre 8 e 63 caracteres, e a
-v
seleção negada faz com quegrep
apenas imprima todo o resto.fonte