linux判断文件夹是否为空
⑴ 如何在shell中判断一个文件是否为空
filename="/tmp/somefile"
if[$(stat-c%s$filename)-eq0];then
printf"'$filename'isempty. "
else
printf"$filenameisnotempty. ";
fi
stat -c %s filename 可以返回文件大小。这里判空条件是文件大小为0,具体还要看你的判空条件。
folder=test
content=`ls$folder`
["$content"=""]&&echo"$folderempty"||echo"$folderNOTempty"
⑶ linux下有函数可以直接判断一个目录是否为空吗 csdn
用man 3 printf 就可以看到头文件。有时有些函数的查看需要不同的man库,具体可以看一下 man man。
⑷ Linux中怎么找出空文件夹
可以使用find命令。find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。
find的使用格式如下:$ find <指定目录> <指定条件> <指定动作>
如果什么参数也不加,find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
对于本问题来说,可以使用-type d约束只搜寻文件夹,使用-empty约束寻找空文件夹。
find -type d -empty
请参考《Linux就该这么学》基础命令。
⑸ linux用C如何判断一个目录是否为空
下面的程序在solaris8、gcc编译通过的,如果一个目录是空的,输出为2。
QUOTE: #include #include #include int main(int argc , char **argv){DIR *dirp;int num=0;dirp = opendir(argv[1]);
while (dirp) {
if ( readdir(dirp) != NULL)++num;elsebreak;}closedir(dirp);
printf("%d\n",num);
}shell中判断目录为空
⑹ linux 判断一个目录是不是为空的
我是用脚本实现的
如果同时也要检查隐藏文件ls-l-A即可,num后面是引用执行符
read-p"输入要检查目录的完整路径"addr
num=`ls$addr|wc-l`%>/dev/null
if[$num=0]
thenecho"目录为空"
elseecho"目录不为空"
fi
⑺ shell判断文件是否为空
test -e filename
返回0则存在,返回1则不存在。
或者
if [ -e $filename ]
空格很关键,注意哦。
判断文件的参数如下,本人自己整理的。
-e 文件存在 -f file 是一个 regular 文件(不是目录或者设备文件) -s 文件长度不为 0 -d 文件是个目录 -b 文件是个块设备(软盘,cdrom 等等) -c 文件是个字符设备(键盘,modem,声卡等等) -p 文件是个管道 -h 文件是个符号链接 -L 文件是个符号链接 -S 文件是个 socket -t 关联到一个终端设备的文件描述符 这个选项一般都用来检测是否在一个给定脚本中的 stdin[-t0]或[-t1]是一个终端 -r 文件具有读权限(对于用户运行这个 test) -w 文件具有写权限(对于用户运行这个 test) -x 文件具有执行权限(对于用户运行这个 test)
⑻ shell脚本如何判断目录下的多个文件夹是否为空
directoy=./
find
${directoy}
-type
d
|
xargs
-sh
|
grep
^0
|
awk
'{print
$2}'
先在指定目录下查找
目录文件,
然后用
-sh
计算目录大小,
找出大小为0的目录,然后打印出来即可
若是不希望循环查找下去,可以只查找本级目录:
ls
-l
|
grep
^d
|
awk
'{print
$NF}'
|
xargs
-sh
|
grep
^0
|
awk
'{print
$2}'
还有个比较完善的解答:
directoy=./
ls
-l
${directoy}
|
grep
^d
|
awk
'{printf("%s/%s\n",dir,$NF)}'
dir=${directoy}
|
xargs
-sh
|
grep
^0
|
awk
'{print
$2}'