if && grep

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的行

时间: 2024-10-09 15:09:24

if && grep的相关文章

Linux学习笔记之grep命令及sed 命令相关选项

#grep  强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 根据模式,搜索文本 ,并将符合模式的文本行显示出来,常与正则表达式相结合使用. [[email protected] ~]# grep --h 用法: grep [选项]... PATTERN [FILE]... 在每个 FILE 或是标准输入中查找 PATTERN. 默认的 PATTERN 是一个基本正则表达式(缩写为 BRE). 例如: grep -i 'hello world' menu.h main.c

linux命令——grep

在上一个命令中,我们知道可以使用cat来查看文本文件的内容,但是有的时候我们不是需要查看全部内容,而是需要查看包含某些信息的一行,如在渗透中我们需要查看某些配置文件中是否包含一些敏感信息,如密码信息,数据库连接信息等,就可以通过使用grep来进行快速查看我们需要查看的内容了! 使用语法如下: grep 查找内容 要查找内容的文件 如果查找内容中包含空格,那么需要加单引号',如:grep 'test hh' filenema,另外可以在多个文件中进行查找,直接在后面继续添加文件名即可! [emai

Linux文件处理工具之(grep)

简介 grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户. grep基本用法 格式         grep [options] 主要参数 [options]主要参数:-c:只输出匹配行的计数.-I:不区分大 小写(只适用于单字符).-h:查询多文件时不显示文件名.-l:查询多文件时只输出包含匹配字符的文件名.-n:显示匹配行及 行号.-

Linux下的搜索命令grep(转)

一.简介 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来. 通常grep会结合管道|来使用,比如把上一个命令得到的结果通过管道|传递到grep进行筛选 二.选项 -a 不要忽略二进制数据. -A<显示列数> 除了显示符合范本样式的那一行之外,并显示该行之后的内容. -b 在显示符合范本样式的那一行之外,并

004-用户、组、权限管理命令及bash配置文件、管道、重定向、grep

l  1.用户管理命令 1.)创建用户命令 useradd  [OPTIONS] USERNAME -u(UID):指定用户UID -g(GID):指定基本组 -G( group,...):指定附加组 -c"COMMENT":指定注释信息 -d(home_dir):指定家目录/path/to/directory -s:指定SHELL路径(/etc/shells指定了当前系统可用的安全shell) -m –k:强行为用户创建家目录 -M:不创建用户家目录 /etc/login.defs

4-4 grep及正则表达式

1. grep:Globally search a Regular Expression and Print:根据模式搜索文本,并将符合模式的文本行显示出来 pattern:文本字符和正则表达式的元字符 一般查询 其中 -i:忽略大小写 --color: 另外,删掉alias,是以如下格式 -v:显示没有被模式匹配的行 -o:只显示被模式匹配到的字符串 2. 正则表达式:regular expression,简称REGXP 3. 位置锚空 ^: 锚空行道,此字符后的任意内容必须出现在行首 $:

grep详解

grep详解 简介:grep:(global search regular expression(RE))and  print out the line 文本搜索工具,根据用户指定的文本模式对目标文件进行逐行搜索,显示能够被模式所匹配到的行. 正则表达式:是一类字符所书写出来的模式(PATTERN) 模式分为:基本正则表达式和扩展正则表达式 元字符:不表示字符本身的意义,用于额外功能性的描述 基本正则表达式的元字符:元字符使用引号 grep格式:grep  [option] 'PATTERN'

文本处理工具与正则表达式、grep

一.文本处理工具 1.文本查看命令 cat [OPTION]- [FILE]- -n 显示行号 -b 空格行不加行号,有字符的行才加 -s  相邻的空行压缩为一行,长和-n联用 -v 处理windows中的^M -T 可以看到tab\space -A  显示所有控制符(包括windows文本中的^M,^T) -E  显示行结束符$ (回车) tac [OPTION]- [FILE]-  将每个指定文件按行倒置并写到标准输出. 效果与cat 相反 rev  将指定文件从最后一个字符开始显示到第一个

linux入门之grep 正则表达式案例

grep 正则表达式案例 案例一: 1.显示/proc/meminfo文件中以大小s开头的行:(要求:使用两种方式) #grep -i '^s' /proc/meminfo #grep  '^[Ss]' /proc/meminfo #grep -E '^(s|S)' /proc/meinfo 2.显示/etc/passwd文件中不以/bin/bash结尾的行 #grep -v '/bin/bash$' /etc/passwd 3.显示用户rpc默认的shell程序 #grep '^\<rpc\>

Linux &nbsp; &nbsp; grep命令,正则表达式

grep命令及正则表达式 grep命令 grep , egrep , fgrep grep,sed,awk 文本处理三剑客 grep: Global search REgular expression and Print out the line;全面查找正则表达式并将匹配到的行显示出来; 正则表达式 正则表达式主要应用对象是文本,因此它在各种文本编辑器场合都有应用;许多程序设计语言都支持利用正则表达式进行字符串操作; 主流的正则引擎又分为三类:DFA;传统型NFA;POSIX NFA; DFA