#!/bin/bash
if [ $(stat --printf="%s" FILENAME) -lt 30720 ]; then
zenity --info --text='file is smaller then 30 KBytes!' > /dev/null 2>&1
fi
Eu tenho uma caixa de mensagem do Zenity em um script
zenity --info --text='done' > /dev/null 2>&1
Preciso abrir uma mensagem, por exemplo: "o arquivo é menor que 30 KB!" quando um arquivo é menor que 30 KB.
Como eu poderia escrever um script "if then else" para exibir uma mensagem zenity, quando, por exemplo, "FILE" é menor que 30 KByte?
Obrigado!
Estes exemplos usam uma sintaxe específica para shells mais modernos, como Bash, ksh e zsh.
Alguns sistemas não têm stat
e você não deve analisar ls
.
result=$(find . -maxdepth 1 -name "$file" -size -30k)
if [[ ${result##*/} = $file ]]
then
zenity --info --text='The file is smaller then 30 KBytes!' > /dev/null 2>&1
fi
Onde "30k" é igual a 30720. Se preferir, você pode usar -size -30000c
.
Se você tiver stat
:
size=$(stat -c '%s' "$file")
if (( size < 30720 )) # or you could use 30000
then
zenity --info --text='The file is smaller then 30 KBytes!' > /dev/null 2>&1
fi
SIZE='ls -l $1 | awk '{print $5}''
if [ $SIZE -lt 30720 ]
then
zenity --info --text='File is smaller than 30KB' > /dev/null 2>&1
fi