linux的shell 脚本里怎么用if 判断文件大小呀?

2024年11月17日 05:54
有3个网友回答
网友(1):

find有一个参数 -size +10000M

你可以定义一个变量 它的值为
查找目录下 是否满足同时名字叫123.cap 并且尺寸大于10000M的
是就赋予var

先执行tcpdump 后台运行

然后做一个循环 每隔一秒判断这个var
var=$(find . -name "123.cap" -size +10000M)

判断这个var是否不为空

当不为空 那么代表文件超出10g了 那么就完毕吧 exit

思路这样 你自己试试看

网友(2):

我来写写:
#!/bin/bash
LIMIT=10
FILESIZE=0
while [ $FILESIZE -lt $LIMIT ];do
sleep 1
FILESIZE=`du -sh 123.cap | awk '{print $1}' |sed 's/K|M|G//g'`
done
killall tcpdump

网友(3):

#!/bin/bash

LIMIT=$((1024*1024*1024*10)) #10G Bytes
FILESIZE=0

while [ $FILESIZE -lt $LIMIT ];do
sleep 1
FILESIZE=`stat -c%s 123.cap`
done

# do some killall
killall tcpdump