Disk Verification - Por que o comando tr é mais rápido que o script bash personalizado

0

Estou tentando verificar um disco limpo se ele estiver com zero ...

Para um disco de 80 GB, quando executo o seguinte comando

pv -etbp /dev/sdx | tr --squeeze-repeats "
#!/bin/sh

read input;

if [ "$input" != 0 ]
then
echo "NON-ZERO"
fi
0" "T"

se concluir o processo em cerca de 40 minutos ... mas quando tento encaminhar o pv para um script personalizado, demorará 10 horas, o script personalizado é o seguinte:

pv -etbp /dev/sdX | /test/custom.sh

e chamando o script da mesma maneira

pv -etbp /dev/sdx | tr --squeeze-repeats "
#!/bin/sh

read input;

if [ "$input" != 0 ]
then
echo "NON-ZERO"
fi
0" "T"

que leva cerca de 10 horas para concluir a operação.

então eu tenho duas perguntas;

  1. Por que o piping para o script personalizado está demorando muito mais tempo?

  2. o comando tr pode ser usado para corresponder à condição "diferente"? ou seja, o oposto de --sequence-repeats ?

Obrigado

    
por Alyas 25.10.2018 / 16:47

0 respostas