Escrevendo valores de uma instrução if para o arquivo

1

Eu tenho um problema com a instrução if, basicamente, desejo gravar os valores de $tag9700 e $tag9701 nos 9700l.log e 9701l.log , respectivamente, se existirem. Se não, então, escreva 9700=, para 9700l.log e 9701=, para 9700l.log .

tag9700='egrep -Eo '9700=[0-2]{0,9}' $filename-PDK-AP-LXFXMR-01*.log'

if [ $tag9700 -eq 0 ]
then
    echo $tag9700 >> /home/user/9700l.log
else
    echo '9700=,' >> /home/user/9700l.log
fi

tag9701='egrep -Eo '9701=[A-Z]{0,9}' $filename-PDK-AP-LXFXMR-01*.log'

if [ $tag9701 -eq 0 ]
then
    echo $tag9701 >> /home/user/9701l.log
else
    echo '9701=,' >> /home/user/9701l.log
fi

O resultado é que o arquivo 9700l.log deve se parecer com:

9700=1
9700=0
9700=,(only if it isn't a value grepped in the intial $tag9700)

O mesmo cenário se aplica a $tag9701 .

    
por DjOlu 15.03.2017 / 11:02

1 resposta

0

tag9700='egrep -Eo '9700=[0-2]{1,9}' $filename-PDK-AP-LXFXMR-01*.log'
echo "${tag9700:-,}" > 9700.logfile

Você precisa de um mínimo de 1 de correspondência. Em seguida, em uma correspondência malsucedida, você faz uso da propriedade de substituição bash ${var:-...}

    
por 15.03.2017 / 11:27