Comando Find procurando se a variável é nula

1. Comando Find procurando se a variável é nula

Rodrigo C
cunhaigo23

(usa Ubuntu)

Enviado em 15/07/2024 - 18:01h

Saudações, tudo bem?
precisava que o comando find faça a verificação se uma variável é nula:
duratio'n2=($( ffprobe $DIR2/$data/$ARQ1 2>&1 | grep "Duration"| cut -d ' ' -f 4 | sed s/,// | sed 's@\..*@@g' | awk '{ split($1, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] } ' ""))

sudo find $DIR2/$data \( ! -name "*.merge.mp4" (VARIÁVEL NULA $duration ) \) -exec bash -c 'FILE="$1"; ffmpeg -i "${FILE}" -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -vf scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080 -err_detect -ignore_err -err_detect buffer -err_detect explode -fflags discardcorrupt -ignore_unknown -async 1 -vsync 1 -af loudnorm=linear=true:I=-20 -r 29.97 -b:v 25000k -crf 22 -c:v libx264 -b:v 25M -vf yadif=1 -t '$duration2' -pix_fmt yuv420p -y "${FILE%.mp4}.merge.mp4";' _ '{}' \;

Gostaria que o comando find verificar se a vari~ável "duratio'n2" é nula



  


2. Re: Comando Find procurando se a variável é nula

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 15/07/2024 - 18:15h



faz uma estrutura tipo isso para ver se a variável é nula
if [ -z "$duration" ]; then
executa se verdadeira
else
nao executa se verdadeiro
fi


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




3. Re: Comando Find procurando se a variável é nula

Rodrigo C
cunhaigo23

(usa Ubuntu)

Enviado em 15/07/2024 - 18:52h

ele precisa executar na pasta analizando cada arquivo e se o arquivo não estiver audio ele executa o comando, pode ser que a pasta tenha 2 ou 100 arquivos, vai exeuctar um por um dos que não tem áudio.
audiobit=($( ffprobe $DIR2/$data/$ARQ1 -v error -select_streams a:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1))

esse váriável "audiobit" se for nula ele exeuta

sudo find $DIR2/$data \( ! -name "*.merge.mp4" \) -exec bash -c 'FILE="$1"; ffmpeg -i "${FILE}" -vf scale=1920:1080:force_original_aspect_ratio=decrease,pad=1920:1080 -err_detect -ignore_err -err_detect buffer -err_detect explode -fflags discardcorrupt -ignore_unknown -async 1 -vsync 1 -af loudnorm=linear=true:I=-20 -r 29.97 -b:v 25000k -crf 22 -c:v libx264 -b:v 25M -vf yadif=1 -pix_fmt yuv420p -y "${FILE%.mp4}.merge.mp4";' _ '{}' \;

tem como o find verificar se essa variável é nula?

Mauriciodez escreveu:



faz uma estrutura tipo isso para ver se a variável é nula
if [ -z "$duration" ]; then
executa se verdadeira
else
nao executa se verdadeiro
fi


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------






4. Re: Comando Find procurando se a variável é nula

aguamole
aguamole

(usa KUbuntu)

Enviado em 16/07/2024 - 09:41h

É o mesmo processo, não é o find que verifica se a variável é nula é o shell que faz isso.
A verificação do shell se é nulo vai depois da definição da variável e antes do find.
audiobit=$(definindo variável)
if [[ -z "${audiobit}" ]]
then
# Insira o find aqui...
fi
O [[]] é o comando test o -z é para o test checar se a variável audiobit é nula, se o test definir que isso é verdade o find é executado. Caso vc queira que o find execute somente caso a variável não seja nula ai é só vc trocar o -z pelo -n.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts