Como limitar o comprimento MAX de MIN de uma string?

1

"nada" significa que não há saída.

Q: como posso limitar o comprimento MIN e MAX de um STRING canalizado? (MIN: x > = 3 caracteres, MAX: x < = 32 caracteres)

ENTRADA:

echo 12 | MAGIC

OUTPUT:

nothing

ENTRADA:

echo 123 | MAGIC

OUTPUT:

123

ENTRADA:

echo 123456789012345678901234567890123 | MAGIC

OUTPUT:

nothing

ENTRADA:

echo 12345678901234567890123456789012 | MAGIC

OUTPUT:

12345678901234567890123456789012
    
por gasko peter 13.08.2013 / 13:39

3 respostas

2

Isso deve fazer o trabalho:

echo 123 | awk 'length >= 3 && length <= 32'

Se você canalizar várias linhas para ele, ele imprimirá linhas com entre 3 e 32 caracteres.

    
por 13.08.2013 / 13:43
2

Embora o awk one de David seja o mais óbvio, adicione à lista:

grep -xE '.{3,32}'
    
por 13.08.2013 / 16:02
0

Usando o Perl:

perl -nle 'print if length() > 2 and length() < 33'

Teste1:

echo "12345678901234567890123456789012" | \
perl -nle 'print if length() > 2 and length() < 33' 

Saída:

12345678901234567890123456789012

Teste2:

echo "123456789012345678901234567890123" | \
perl -nle 'print if length() > 2 and length() < 33'

Saída:

<Nothing>
    
por 13.08.2013 / 13:56

Tags