判断逻辑是ok的,若grep出来为空则不存在任何问题。只是,grep出来的有可能是多行内容,建议分开写,不要写在一行。str=`grep ^${choice} $1`while [ "${var}" != "${choice}" -a -z "$str" ]先将grep的结果赋值给一个变量,然后变量放入双引号,判断是否为空。这样多行内容就不是问题。
如果多个内容是与关系,可以多个grep用管道相连,是或关系,可用正则式 如grep '\(ab|cd\)' a.txt 是查包含 ab或cd的行, grep 'ab' a.txt | grep 'cd' 是查包含ab和cd的行 要将结果赋到变量 a=`grep '\(ab|cd\)' a.txt ` 就行了 在python里就相当好办了,用不着grep啦,字符串...
如果进程存在就会显示多条进程信息,其中一条包括命令这条。所以判断是否存在,只要判断数量即可,命令为 进程大于1,则进程存在正常,显示如下:以下是最简单的判断内容,判断进程数量小于等于1,则进程不存在,然后重启即可。shell判断相关参数:需注意的坑:grep 需要加上参数 -w ,意为精确匹配。如...
文件比较运算符 -e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]-f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]-L filename 如果 filename为符号链接,则为真 [ -L /...
...ls dir | grep -i '201509' | grep -i '.dat'这种过滤一个下不就知道是否存在了么...实际上就是过滤一个文件名而已...分两个grep也是为了方便理解...实际可以用grep 一个正则就能搞定...
awk命令中包含许多内置变量,如$NF表示最后一个字段。此外,awk还提供了一些内置函数,方便对原始数据进行处理。条件判断是awk的一个重要特性,允许只输出符合条件的行。if语句结构则用于编写复杂的条件判断。虽然本文已详细介绍了awk、grep和sed的使用方法,但这只是它们基础用法的概述。它们的高级用法和更多...
不用拆分,有很多方法判断是否有空格,如awk,sed、grep等 shell方法:(1)expr index "$str" " " # 返回0,没找到空格,如果不是0,找到空格 (2)expr match "$str" '.* .*' #两个.*之间有个空格,如果返回值不是0,有空格 (3)if [ "$str" = "${str/ /a}" ] #...
还可以使用 case in 语句和替换命令,实现条件判断和字符串操作。针对判断文件是否包含指定字符串,方法也较为多样。可以使用 grep 命令直接搜索。另外,组合 cat、while 和 read 命令,通过循环读取文件内容,从而判断文件是否包含所需字符串。在使用这种方式时,需确保 while read 在子shell中执行。
就是num没有赋值 然后看下awk那里,我这里举了个例子,可以试试下里面例子中的引号 cat gprs_c 2018-06-02;447956815999;2018-06-02 00:00:002018-06-03;447956815999;2018-06-03 00:00:002018-06-04;447956815999;2018-06-04 00:00:00$ grep '2018-06' gprs_c* | grep '447956815999' |...
!/bin/bash a=$(grep '>' file | wc -l )if [ $a = 1 ];then 要执行的语句 fi