Linux学习笔记13 grep,egrep,bash变量
来源:互联网 发布:mac npm安装webpack 编辑:程序博客网 时间:2024/06/05 07:34
1.grep
grep [OPTIONS] PATTERN filename
根据模式搜索文本 并将符合模式的文本显示出来
Pattern模式:文本字符和正则表达式的元字符组合而成匹配条件
选项
-i
: 忽略大小写--color
: 匹配到的字符串加颜色-v --invert-match
:没有被模式匹配到的行-o
: 只显示被模式匹配到的字符串-E
: extended regular expression 扩展正则表达式 = 命令egrep-A --after-context=
: 匹配项后几行-B --before-context=
: 匹配项前几行-C --context
: 匹配项前后几行
2. 正则表达式
元字符:
.
: 任意单个字符[]
: 匹配任意范围内的单个字符[^]
: 匹配任意范围外的单个字符
[:digit:],[:lower:],[:upper:],[:punct:],[:space:],[:alpha:],[:alnum:]
匹配字符个数:
*
: 匹配其前面字符任意次数.*
: 任意长度任意字符\?
: 匹配其前面的字符1次或0次\{m,n\}
: 匹配其前面的字符>=m次 <=n次
位置锚定:
^
: 行首 次字符后面的任意内容必须出现在行首$
: 行尾 次字符后面的任意内容必须出现在行尾\<
: 单词出现在词首\>
: 单词出现在词尾
分组: \(\)
\1,\2,\3
: 引用前面的分组
3. 扩展正则表达式
次数匹配: +
: 匹配其前面的字符至少1次
或者
a|b: a或者b
c|Cat 意思是c或者Cat字符 (c|C)at
IPv4:
5类 A B C D E
A: 1-127
B: 128-191
C: 192-223
4.bash
bash变量类型:
- 环境变量
export VARNAME=VALUE
脚本在执行时会启动一个shell进程
对当前shell及其子shell有效 - 本地变量
set VARNAME=VALUE: 作用域为当前代码段 set可以省略
unset VARNAME: 释放变量
使用VARNAME或 VARNAME引用
[root@localhost tmp]# ANIMAL="pig"[root@localhost tmp]# echo "The animal is ${ANIMAL}s"The animal is pigs
- 局部变量
local VARNAME=VALUE: 作用于为当前代码段 - 位置变量
$1,$2,$3....
引用脚本参数
shift n - 特殊变量
$?
:上一个命令执行状态返回值:$#
: 参数的个数$*
: 参数列表$@
: 参数列表
[root@localhost ~]# ls /varrls: cannot access /varr: No such file or directory[root@localhost ~]# echo $?2[root@localhost ~]# lss-bash: lss: command not found[root@localhost ~]# echo $?127[root@localhost ~]# lsanaconda-ks.cfg demo.sh Downloads post-install Templates Videosdemo Desktop Music post-install.log testdemofile Documents Pictures Public test_dir[root@localhost ~]# echo $?0
查询状态返回代码(0-255)
0:正确执行
1-255: 错误执行:1,2,127系统预留
/dev/null: 软件模拟设备, bit bucket,数据黑洞
查看当前shell中的环境变量:
printenv
env
export
条件测试的表达:
[expression]
[[expression]]
test expression
整数比较:
-eq
: 测试两个整数是否相等 $A -eq $B
-ne
: 测试两个整数是否不等: $A -ne $B
-gt
: 大于
-lt
:小于
-ge
: 大于或等于
-le
:小于或等于
字符测试:
==
: 测试是否相等
!=
: 测试是否不等
>
<
-n string
: 测试字符串是否为空
-s string
: 测试字符串是否不空
命令间的逻辑
变量名称: 只能包含字母、数字和下划线,并且不能数字开头:不应该跟系统中已有的环境变量重名
if 判断条件; then
statement1
statement2
…
else
statement3
statement4
fi
shell算数表达式:
A=3
B=5
1. let算术运算表达式
let C=$A+$B
2.$[算术表达式]
C=$[ $A+$B ]
3.$((算数表达式))
C=$(($A+$B))
4.expr算术运算表达式,表达式中各操作数及运算符之间有空格,而且要使用命令引用
C=`expr $A + \$B`
exit: 退出脚本
exit NUMBER: NUMBER代表状态码
- Linux学习笔记13 grep,egrep,bash变量
- grep egrep sed awk 笔记
- linux中的grep|egrep|fgrep
- 【Linux学习笔记】24:Bash变量概述
- grep, egrep
- linux正则表达式 grep egrep用法
- linux正则表达式 grep egrep用法
- linux正则表达式 grep egrep用法
- linux正则表达式 grep egrep用法
- linux通配符,grep和 egrep区别
- Linux之grep和egrep命令总结
- linux基本命令grep egrep fgrep
- BASH学习笔记——grep
- Linux-grep学习笔记
- linux grep 学习笔记
- Linux学习笔记:egrep及扩展的正则表达式
- Linux学习笔记:bash的基础特性之变量
- bash变量的学习笔记
- eclipse导入本地xsd文件(新手慎入)
- RESTful Web 服务
- BZOJ 2242: [SDOI2011]计算器
- Linux 下使用脚本进行SSH授权及命令操作
- ios证书 develop distribution ad-hoc 区别
- Linux学习笔记13 grep,egrep,bash变量
- 使用Gson将List转化为JSON并转回List
- JAVA微信开发-新手接入指南
- Swift Delegate使用
- templete模板each循环和if用法
- 欢迎使用CSDN-markdown编辑器
- 基于Django1.8.2文档,编写第一个Django应用(1)
- Android Studio中Git的配置及协同开发
- maven依赖的版本管理