精华内容
下载资源
问答
  • shell while 判断文件是否
    千次阅读
    2020-11-17 14:56:26

    1. 检测本地文件是否存在

    #!/bin/bash 
     
    # 判断aa.txt 是否存在
    file='aa.txt'
    if [ -e $file ];then
        echo "$file exist"
    else
        echo "$file not exist"
    fi

    注意:在shell脚本中当使用“ = ”给变量赋值的时候,在 “ = ”两边一定不能加空格,否者会把变量名当作一个命令来执行而报出“ command not found ”的错误。

    下面是一些相关的参数:

    -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)

    2. 循环检测hdfs上某一文件是否存在

    # hadoop内置了提供了判断某个文件是否存在的命令
    hadoop fs -test 
    -e 判断是否存在
    -d 判断是否是目录
    -f 判断是否是个文件
    -s 判断内容是否大于0bytes,大于0为真
    -z 判断内容是否等于0bytes,为0真
    更多相关内容
  • Shell判断文件是否包含给定字符串 给定一个字符,比方说“Hello Linduo”,查找相应文件中是否包含该字符。方式1:grep # grep -c 返回 file中,与str匹配的行数 grep -c str file FIND_FILE="/home/...

    Shell判断文件是否包含给定字符串

    • 给定一个字符,比方说“Hello Linduo”,查找相应文件中是否包含该字符。
    • 方式1:grep

    # grep -c 返回 file中,与str匹配的行数
    grep -c str file

    FIND_FILE="/home/linduo/test/Test.txt"
    FIND_STR="Hello Linduo"
    # 判断匹配函数,匹配函数不为0,则包含给定字符
    if [ `grep -c "$FIND_STR" $FIND_FILE` -ne '0' ];then
        echo "The File Has Hello Linduo!"
        exit 0
    fi 

    • 方式2:cat、while、read组合使用。使用这种方式,要注意时while read 在子shell中运行

    FIND_FILE="/home/linduo/test/Test.txt"
    FIND_STR="Hello Linduo"
    cat $FIND_FILE| while read line
    do
    if [[ $line =~ $FIND_STR ]];then
        echo "The File Has Hello Linduo!"
    fi
    done

     原文:https://blog.csdn.net/zxc024000/article/details/102914691 

    展开全文
  • read -ep 请输入判断文件类型: type case $type in b) if [ -b $file ];then echo 是一个block文件! else echo 不是一个block文件! fi ;; c) if [ -c $file ];then echo 是一个字符设备文件! else
  • Shell——判断文件是否存在并为空

    千次阅读 2021-12-28 20:52:23
    判断文件是否存在 file="config.yaml" if [ ! -f "$file" ] # not exist then echo "file not exist" # do something # touch "$file" else echo "file exist" fi 判断文件是否为空 如果文件为空,则一直下载...

    判断文件是否存在

    file="config.yaml"
    if [ ! -f "$file" ] # not exist
    then 
     echo "file not exist"
     # do something 
     # touch "$file"
    else
     echo "file exist"
    fi
    

    判断文件是否为空

    如果文件为空,则一直下载,直到文件不为空为止。

    file="config.yaml"
    while [ ! -s "$file" ] # -s if file empty
     do
      echo "redownloading...."
      wget -O config.yaml "https://www.thismiao.xyz/link/21fQ=info"
     done
    

    主代码

    cd /home/vm/software/clash
    
    file="config.yaml"
    
    
    rm "$file"
    
    if [ ! -f "$file" ] # not exist
    then 
     echo "download the config file"
     while [ ! -s "$file" ] # -s if file empty
     do
      echo "redownloading...."
      wget -O config.yaml "https://www.thismiao.xyz/link/2?cl&log-level=info"
     done
    fi
    
    ./clash -d .
    

    参考文章:

    展开全文
  • 通过文件的修改时间来判断。...因为源数据不定时从oss上向服务器同步,所以这边定时任务每天跑的时候先判断一下002flag.txt是否有更新。有更新,则进行图片算法程序;无更新,则当天不进行图片算法的对比。...

    通过文件的修改时间来判断。

    这是之前写算法的时候,把各个python文件连在一起的start.sh。因为源数据不定时从oss上向服务器同步,所以这边定时任务每天跑的时候先判断一下002flag.txt是否有更新。有更新,则进行图片算法程序;无更新,则当天不进行图片算法的对比。

    # #!/bin/bash
    
    startdate=`date +'%Y%m%d'`
    starttime=`date +'%Y-%m-%d %H:%M:%S'`
    echo "------------------------------------------------------------算法开始------------------------------------------------------------------" >> /home/2021/ab/shell/log/$startdate.log
    
    FILE1='/home/2021/ab/flag/002flag.txt'
    last_time1=$(stat -c %Y $FILE1)
    
    sudo sh /home/2021/ab/shell/000.sh
    
    
    FILE2='/home/2021/ab/flag/002flag.txt'
    last_time2=$(stat -c %Y $FILE2)
    
    if [ $last_time1 = $last_time2 ] 
    then
        	echo "没有新数据" >> /home/2021/ab/shell/log/$startdate.log
    
    else
    	cat /home/2021/ab/flag/002flag.txt | while read line
    	do
           		echo "运行的数据是:"$line  >> /home/2021/ab/shell/log/$startdate.log
    	done
    
      sudo python3 /home/2021/ab_to_z/sendmysql.py
      sudo sh /home/2021/ab/shell/001.sh
    	sudo sh /home/2021/ab/shell/002.sh
    	sudo sh /home/2021/ab/shell/003.sh
    	sudo sh /home/2021/ab/shell/004.sh
    	sudo sh /home/2021/ab/shell/005.sh
    	sudo sh /home/2021/ab/shell/006.sh
    	sudo sh /home/2021/ab/shell/007.sh
    fi
    
    endtime=`date +'%Y-%m-%d %H:%M:%S'`
    start_seconds=$(date --date="$starttime" +%s);
    end_seconds=$(date --date="$endtime" +%s);
    echo "总计运行时间: "$((end_seconds-start_seconds))"s">> /home/2021/ab/shell/log/$startdate.log
    echo "------------------------------------------------------------算法结束------------------------------------------------------------------">> /home/2021/ab/shell/log/$startdate.log
    
    展开全文
  • 我最近写的脚本 你改改就...#判断当前文件是否存在 if [ ! -x "$line" ]; then #如果不存在记录日志 echo $line>>test.log fi done #shell判断文件夹是否存在 #如果文件夹不存在,创建文件夹 if [ ! -d “/Top
  • shell判断文件,目录是否存在或者具有权限 #!/bin/sh   myPath="/var/log/test/" myFile="/var /log/test/http.log"     #这里的-x 参数判断$myPath是否存在并且是否具有可执行权
  • 今天小编就为大家分享一篇关于Shell中的while循环几种使用实例详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • 实现的思路很简单,首先实现判断文件是否存在,不存在的拷贝,然后价格死循环即可。 #!/bin/sh myFile="/home/zexin/test/test.CIME" # -f参数判断$myFile是否存在 while true #死循环 do if [ ! -f "$myFile" ]; ...
  • 判断调用shell的时候传进来的文件是否存在,如果不存在,则等待文件10S,如果10S文件存在,则调用test1 并返回test返回的结果 test.sh 内容如下 #!/bin/sh i=1 time=$(date "+%Y%m%d") while [ $i -le 10 ] do if [ ...
  • shell判断文件结尾是否有回车符

    千次阅读 2020-01-12 00:46:02
    在脚本中通过while read循环读取文件内容时,如果文件格式不是UNIX,并且文件最后一行不是以空行结束,那么在读取的时候始终无法正确处理最后一行数据,其原因就是因为回车换行符的问题,所以为了解决这个问题,可以...
  • 背景:现在每天晚上都要压测数十台机器,自动抓取日志的脚本已经写出,但是每次单独点开log文件抓取crash,kill,fatal等信息,很是重复和繁琐,于是决定写一个遍历文件夹和判断日志是否存在crash的脚本
  • 主要介绍了Shell脚本实现根据文件的修改时间来分类文件,本文直接给出实现代码,需要的朋友可以参考下
  • 本文主要记录一波linux中shell脚本用if语句判断文件或目录是否存在,并且以jenkins自动发布覆盖项目和历史版本记录为例,让大家跟好的理解shell脚本的灵活。 二、基础知识 1.脚本注意要点: .sh结尾的开头要加...
  • shell脚本判断文件类型

    千次阅读 2019-06-30 17:34:00
    test -z $1 是一个判断表达式,用于判断$1的值是否为空字符串。 虽然 Linux 和 UNIX 的每个版本中都包含 test 命令,但该命令有一个更常用的别名 — 左方括号:[test 及其别名通常都可以在/usr/bin 或 /bin (...
  • Shell while循环详解

    千次阅读 2020-02-14 17:48:11
    一、while循环 while循环是shell脚本中最简单的一种循环,当条件满足时,while重复的执行一组语句,当...condition表示判断条件,statements表示要执行的语句(可以是一条,也可以有多条),do 和 done都是shell中的...
  • linux shell if,while,等条件判断

    千次阅读 2019-03-15 14:37:16
    bash中如何实现条件判断? 条件测试类型: 整数测试 字符测试 文件测试 一、条件测试的表达式: [ expression ] 括号两端必须要有空格 [[ expression ]] 括号两端必须要有空格 test expression 组合测试条件: -a: ...
  • Shell脚本检查文件是否有改动

    千次阅读 2020-02-22 18:01:38
    目的:检查某个文件夹及其子文件夹下的所有文件是否被改动。 思路: 1. 使用stat命令将所有文件的更改时间记录到文件A中。每个被扫描的文件在文件A中被记录为一行。 2. 然后定期检查所有文件的最新更改时间。并将...
  • 今天小编就为大家分享一篇关于Shell脚本从文件中逐行读取内容的几种方法实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
  • Linux shell脚本基础学习,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提。Linux 脚本编写基础◆1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统...
  • 主要介绍了shell脚本实现实时检测文件变更,本文直接给出实现代码和使用方法,以及svn下的实现代码,需要的朋友可以参考下
  • shell脚本判断hive表是否存在

    千次阅读 2018-09-13 15:55:18
    #shell判断表hive表是否存在 #TABLE=库名.表名 TABLE=dal.dal_mdn_communication_behavior hive -e"  desc $TABLE; " 2>&1 | grep 'Table not found' rtstatus=$? echo $rtstatus if [ $...
  • linux shell判断文件是否更新、修改

    千次阅读 2019-06-24 21:22:37
    如下函数,判断文件是否更新,传入文件路径,间隔时间(秒s),则输入文件在多少秒内是否被更新过。 函数会持续等待文件不再变化后停止。 function whether_changed(){ local file_path=${1} local check_time=${...
  • 10 . shell循环 while

    2022-01-22 21:13:39
    shell循环 while一级目录二级目录三级目录 一级目录 二级目录 三级目录
  • 相信程序员对于linux应该是挺熟悉的,对于基本命令也ok,但是可能有一部分人,其实对于shell的语法,总是不太熟悉(运维除外),比如我这个菜鸡,每次写shell(因为不经常写),都要先百度一波,才能写出来(写完又...
  • shell脚本—While循环

    千次阅读 2022-04-30 10:32:40
    shell脚本—While循环 文章目录shell脚本—While循环1.While循环基本概述2.while循环练习3.循环中的控制语句4.循环控制语句练习 1.While循环基本概述 1.什么是while whileshell中也是负责循环的语句,和for一样 2....
  • 检测文件个数可以修改,打印输出可以分别修改,检测间隔可以修改 只检测一个文件 file_path0=$(cd $(dirname $0); pwd) file_path1=${file_path0}/hardware.prom file_path2=${file_path0}/process.prom file_path3=...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,725
精华内容 23,890
关键字:

shell while 判断文件是否