判断指定目录是否有文件

简介:

linux 中如何判断指定目录下是否有文件(包括隐藏文件和符号链接)呢?

脚本名:decide_blank_folder.sh

脚本内容:

Shell代码   收藏代码
  1. #!/bin/sh  
  2. # whether the specified folder has files,including symbolic file and hidden file  
  3. is_blank_dir_yes=2  
  4. is_blank_dir_no=5  
  5. isHasFileInDir()  
  6. {  
  7.         result3=`find "$1" ! -type d`  
  8.         if [ x"$result3" == x"" ];then  
  9.                 return 1  
  10.                 # has no file  
  11.         else  
  12.         echo "$this_dir"  
  13.                 return 3  
  14.                 # has file(s)  
  15.         fi  
  16. }  
  17.   
  18. is_blank_folder_compl()  
  19. {  
  20.         local fold_name="$1"  
  21.         ls "$fold_name" >/dev/null 2>&1  
  22.         if [ $? -ne 0 ];then  
  23.                 return 4  
  24.                 # has no this folder  
  25.         fi  
  26.         local result=`ls -A "$fold_name"`  
  27.         if [ x"$result" == x"" ];then  
  28.                 return $is_blank_dir_yes  
  29.                 # is blank  
  30.          else  
  31.                 for i in `find "$fold_name" ! -type d`;do  
  32.                         return $is_blank_dir_no  
  33.                 done  
  34.                 #init_bool=5  
  35.   
  36.                 return $is_blank_dir_yes  
  37.          fi  
  38. }  
  39.   
  40. if [ -z "$1"  ];then  
  41.     echo "no argument";  
  42.         exit 255  
  43. fi  
  44.   
  45. is_blank_folder_compl "$1"  
  46. retval=$?  
  47. echo "return value: $retval"  
  48. if [ $retval -eq $is_blank_dir_yes ];then  
  49.         echo "has no file(s)"  
  50. else  
  51.         if [ $retval -eq $is_blank_dir_no ];then  
  52.                 echo "has file......."  
  53.         fi  
  54. fi  

 

测试如下:

[root@localhost test]# ./decide_blank_folder.sh abc/

return value: 2

has no file(s)

 

知识点补充:

(1)如何查看隐藏文件?

使用ls -A

 

(2)`find "$fold_name" ! -type d` 中的感叹号表示什么?

表示否定,即搜索除文件夹之外的所有内容,搜索时排出文件夹。

相关文章
|
1月前
|
监控 Python
查找指定目录下最近修改的文件
本文介绍了一个使用Python编写的脚本,用于查找指定目录及其子目录中在过去指定秒数内被修改的文件。通过`os`和`time`模块,脚本遍历目录,检查文件的最后修改时间,并列出符合条件的文件。文章还提供了代码优化建议,包括增加日志记录、异常处理和性能优化,使脚本更加健壮和高效。
30 4
|
8月前
讲解:如何根据txt文本列出的文件名批量查找指定文件夹里的文件并复制到新的文件夹里 , 按照文件名批量复制文件 , 根据文件名批量复制 , 通过文件名批量复制文件
该文介绍了一款批量文件处理软件,用于解决三类问题:依据文件名清单批量复制图片、筛选PDF文件及删除指定文件。用户可从百度或腾讯下载链接获取软件。操作步骤包括加载文件夹、输入文件名清单、设置目标位置、选择操作类型(复制、剪切或删除)及匹配方式,然后开始查找。软件能快速处理大量文件,提高办公效率,避免手动操作。查找结果会显示在特定文件夹和日志中,记录每个操作详情。
822 5
|
8月前
|
弹性计算 运维 Shell
判断文件或目录是否存在
【4月更文挑战第29天】
60 0
C#编程-112:文件夹操作之判断是否存在
C#编程-112:文件夹操作之判断是否存在
116 0
C#编程-112:文件夹操作之判断是否存在
|
网络协议 测试技术 Go
判断文件或目录存在 | 学习笔记
快速学习判断文件或目录存在
|
分布式计算 Hadoop 开发者
文件和文件夹的判断| 学习笔记
快速学习文件和文件夹的判断
244 0
|
开发框架 .NET Windows
文件和文件夹的操作——获取当前路径方法
文件和文件夹的操作——获取当前路径方法
290 0
|
Windows
从目录中查找最大和最小的文件(不包括子目录)
从目录中查找最大和最小的文件(不包括子目录),学会使用File类的一些基本方法的调用。代码如下: package file; import java.io.File; public class FindMinAndMaxFile { public static void main(St...
3076 0