파일 크기가 30KB보다 작은 경우 메시지 표시


0

스크립트에 Zenity 메시지 상자가 있는데 메시지

zenity --info --text='done' > /dev/null 2>&1

를 팝업해야합니다. 예 : "파일이 30KB 보다 작습니다!" 파일이 30KB보다 작은 경우

예를 들어 "FILE"이 30KByte보다 작을 때 zenity 메시지를 표시하는 "if then else"스크립트를 작성하려면 어떻게해야합니까?

감사합니다!

답변:


3
#!/bin/bash

if [ $(stat --printf="%s" FILENAME) -lt 30720 ]; then
    zenity --info --text='file is smaller then 30 KBytes!' > /dev/null 2>&1
fi

1

이 예제는 Bash, ksh 및 zsh와 같은 최신 쉘에 고유 한 구문을 사용합니다.

일부 시스템이없는 stat당신은 구문 분석하지합니다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

"30k"는 30720 -size -30000c입니다. 원하는 경우을 사용할 수 있습니다 .

당신이 가지고 있다면 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

0
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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.