if    条件 
then
        Command
else
        Command
fi                               别忘了这个结尾
——————————————————————————

[ ] &&        ——快捷if

——————————————————————————

条件表达式

if [ -f file ]    如果文件存在

if [ -d ... ]    如果目录存在

if [ -s file ]    如果文件存在且非空

if [ -r file ]    如果文件存在且可读

if [ -w file ]    如果文件存在且可写

if [ -x file ]    如果文件存在且可执行

整数变量表达式

    if [ int1 -eq int2 ]     如果 int1 等于 int2     
    if [ int1 -ne int2 ]     如果不等于 
    if [ int1 -ge int2 ]     如果 >=  
    if [ int1 -gt int2 ]      如果 >  
    if [ int1 -le int2 ]       如果 <=  
    if [ int1 -lt int2 ]        如果 <

复杂逻辑判断

-a         与 
-o        或 
!        非

 
if 条件判断中有多个条件
#!/bin/bash
score=$1
if [ $score = 5 ]||[ $score = 3 ];then
    echo right
else
    echo wrong
fi
 
-------------------------------------------------------
#!/bin/bash
score=$1
if [ $score -gt 5 ]||[ $score -lt 3 ];then
    echo right
else
    echo wrong
fi
 
-------------------------------------------------------
#!/bin/bash
score=$1
if [ $score -gt 15 ]||([ $score -lt 8 ]&&[ $score -ne 5 ]);then
    echo right
else
    echo wrong
fi
 
 
-------------------------------------------------------
或:

#!/bin/bash

count="$1"

if [ $count -gt 15 -o $count -lt 5 ];then

echo right

fi

 
且:

#!/bin/bash

count="$1"

if [ $count -gt 5 -a $count -lt 15 ];then

echo right

fi
-------------------------------------------------------
score=$1
if [[ $score -gt 15 || $score -lt 8 && $score -ne 5 ]];then
    echo right
else
    echo wrong
fi
记住必须加两个中括号

grep -c 输出匹配行数量
         -i  搜索是忽略大小写
         -h  查询多文件时不显示文件名
         -l   只列出符合匹配的文件名,不列出具体匹配行
         -n  列出所有匹配行,并显示行号
         -s  不显示不存在或匹配文本的错误信息
         -v  显示不包含匹配文本的所有行
         -w  匹配整词
         -x   匹配整行
         -r   递归搜索,搜多当前目录及子目录
         -q  禁止输出任何结果,以退出状态表示搜索是否成功
         -b  打印匹配行距文件头部偏移量,以字节为单位
         -o  与-b结合使用,打印匹配的词距文件头部偏移量,以字节为单位
         -E  支持扩展正则表达式
         -F  不支持正则表达式,按照字符串的字面意思进行匹配
 
实例:
   grep -n 123 123.txt  列出123.txt中包含123的行并显示行号
   grep -E "a|b" 123.txt 多条件过滤  123.txt中包含a或者b的行
  grep  "a\|b" 123.txt 同上
  grep -v 'a\|b 123.txt 多条件过滤,123.txt中不包含a和b的行
  

if && grep的更多相关文章

  1. grep 查找bash脚本中的注释代码

    出于安全性的考虑,不建议在bash脚本中注释掉不使用的代码.也就是说如果某段代码不使用了,那么应该删除掉,而不是简单地注释掉.假如你突然意识到这一点,而以前并没有遵从这个原则,现在需要找出脚本中的注释 ...

  2. linux grep命令

    linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...

  3. linux中grep的应用

    h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...

  4. Linux命令-文件文本操作grep

    文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...

  5. 4-4 grep及正则表达式

    1. grep:Globally search a Regular Expression and Print:根据模式搜索文本,并将符合模式的文本行显示出来 pattern:文本字符和正则表达式的元字 ...

  6. grep 命令过滤配置文件中的注释和空行

    grep 用法 Usage: grep [OPTION]... PATTERN [FILE]... Search for PATTERN in each FILE or standard input. ...

  7. sed awk grep三剑客常用

    sed的常用用法: awk的常用用法: grep的常用用法: 除了列出符合行之外,并且列出后10行. grep -A 10 Exception kzfinance-front.log 除了列出符合行之 ...

  8. awk命令和grep命令的使用

    1.遇到需求:用ping命令去检测系统网络延迟 跑 ping baidu.com -c 3,想要直接得到平均延迟. ping baidu.com -c 3 | grep rtt | awk -F \/ ...

  9. grep 命令

    简单介绍:grep命令是用于分析一行信息,若当中有我们所需要的信息,就将该行取出来. 语法结构:grep [-acinv] [--color=auto] '查找关键字' #{filename} -a: ...

  10. 使用git grep进行git搜索

    1.git grep foo 会自动map所有包含foo的文件 2.git grep -n foo  显示行号 3.git grep --name-only foo 只显示文件名 4.git grep ...

随机推荐

  1. 学会这 2 点,轻松看懂 MySQL 慢查询日志

    MySQL中的日志包括:错误日志.二进制日志.通用查询日志.慢查询日志等等.这里主要介绍下比较常用的两个功能:通用查询日志和慢查询日志. 1)通用查询日志:记录建立的客户端连接和执行的语句. 2)慢查 ...

  2. 原生javascript的意义

    原生JS是指遵循ECMAscript标准的javascript,不同于微软的jscript也不依赖于任何框架,依托于浏览器标准引擎的脚本语言. jquery是在原生态的js上集成的框架资源,使用jqu ...

  3. xml 字符串解析成通用的map

    [quote]Stax解析技术:快速高效,根据流的形式解析xml,比dom解析技术更加快,dom解析技术是基于文档结构树的,会把整个dom文件树加载到内存进行解析[/quote] package co ...

  4. Kay and Snowflake CodeForces - 686D (树的重心性质)

    After the piece of a devilish mirror hit the Kay's eye, he is no longer interested in the beauty of ...

  5. 【HEOI2015】小Z的房间

    题意 https://www.luogu.org/problemnew/show/P4111 题解 前置知识:矩阵树定理 不要问证明,我不会,用就完事了(反正一般也不会用到) 因为矩阵树定理就是求一张 ...

  6. STL源码阅读-functor与adapter

    为什么要用仿函数 函数指针不灵活,难以与STL其他组件配合使用 Adapter 将一个class的接口转换为另一个class的接口,使原本因接口不兼容而不能合作的classes,可以一起运作 STL中 ...

  7. 《编译原理》构造与正规式 (0|1)*01 等价的 DFA - 例题解析

    <编译原理>构造与正规式 (0|1)*01 等价的 DFA - 例题解析 解题步骤: NFA 状态转换图 子集法 DFA 的状态转换矩阵 DFA 的状态转图 解: 已给正规式:(0|1)* ...

  8. LogHelper

    原文链接 public class LogHelper { static string strLogCOMPath = Directory.GetCurrentDirectory() + " ...

  9. oracle 环境变量问题

    ORACLE_HOME   配置为oracle   ..\dbhome_1      配置错误可能导致监听起不来  (也有可能是在装client时可能会更改了之前变量的值) TNS_ADMIN     ...

  10. puppet集群

    实验目的:        由于现有的环境中,puppetmaster是单节点,客户端更新时出现了更新失败和时间较长等现象.考虑将puppetmaster做成集群的模式,解决大量客户端更新延时和单节点故 ...