美文网首页
遍历文件夹下面的文件Shell & 判断文件是否存在

遍历文件夹下面的文件Shell & 判断文件是否存在

作者: 云之君兮鹏 | 来源:发表于2019-10-29 23:08 被阅读0次
    #! /bin/bash
    function read_dir(){
    for file in `ls $1` #注意此处这是两个反引号,表示运行系统命令
    do
     if [ -d $1"/"$file ] #注意此处之间一定要加上空格,否则会报错
     then
     read_dir $1"/"$file
     else
     echo $1"/"$file #在此处处理文件即可
     fi
    done
    } 
    #读取第一个参数
    read_dir $1
    
    • 文件夹不存在则创建
    if [ ! -d "/data/" ];then
    mkdir /data
    else
    echo "文件夹已经存在"
    fi
    
    • 文件存在则删除
    if [ ! -f "/data/filename" ];then
    echo "文件不存在"
    else
    rm -f /data/filename
    fi
    
    • 文件比较符
    -e 判断对象是否存在
    -d 判断对象是否存在,并且为目录
    -f 判断对象是否存在,并且为常规文件
    -L 判断对象是否存在,并且为符号链接
    -h 判断对象是否存在,并且为软链接
    -s 判断对象是否存在,并且长度不为0
    -r 判断对象是否存在,并且可读
    -w 判断对象是否存在,并且可写
    -x 判断对象是否存在,并且可执行
    -O 判断对象是否存在,并且属于当前用户
    -G 判断对象是否存在,并且属于当前用户组
    -nt 判断file1是否比file2新  [ "/data/file1" -nt "/data/file2" ]
    -ot 判断file1是否比file2旧  [ "/data/file1" -ot "/data/file2" ]
    

    相关文章

      网友评论

          本文标题:遍历文件夹下面的文件Shell & 判断文件是否存在

          本文链接:https://www.haomeiwen.com/subject/phsnvctx.html