shell编程初步、grep及正则表达式
shell程序:提供了编程能力,解释执行
程序的执行方式:
计算机:运行二进制指令
编程语言:
低级:汇编
高级:
编译:高级语言--->编译器-->目标代码
C,C++,java
解释:高级语言-->解释器-->机器代码
shell,perl,python
过程式编程:
顺序执行
循环执行
选择执行
shell编程:过程式、解释执行
编程语言的基本结构:
数据存储:变量、数组
表达式
语句
shell脚本:文本文件
#!/bin/bash
#!/usr/bin/python
#!/usr/bin/perl
运行脚本:
1.给予执行权限,通过具体的文件路径指定文件执行;
2.直接运行解释器,将脚本作为解释器程序的参数运行;
变量:
命名的内存空间:
数据存储方式:ASCII
字符:110,24
数值:110 -->8
整型
浮点型
变量:变量类型
作用:
1、数据存储格式
2、参与的运算
3、表示的数据范围
类型:
字符
数值:
整型
浮点型
编程程序语言:
强类型:
弱类型:bash
把所有要存储的数据统统当作字符进行
不支持浮点数
逻辑运算:
true,false
grep:
Linux上文本处理三剑客
grep:文本过滤(模式:pattern)工具;grep、egrep、fgrep
sed:stream editor,文本编辑工具
awk:Linux上的实现gawk,文本报告生成器
作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行匹配检查,打印匹配到的行
模式:由正则表达式字符及文本字符所编写的过滤条件
REGEXP(正则表达式):由一类特殊字符及文本字符所编写的模式,其中有些字符不表示字符字面意义,而表示控制或匹配的功能
分两类:基本正则表达式;扩展正则表达式
正则表达式引擎
grep [option] pattern [file...]
选项:
--color-auto:对匹配到的文本颜色显示
-v:显示不能够被pattern匹配到的行
-i:忽略字符大小写
-o:仅显示匹配到的字符串
-q:静默模式,不输出任何信息
基本正则表达式元字符:
字符匹配:
.:匹配任意单个字符
[ ]:匹配指定范围内的任意单个字符
[^]:匹配指定范围外的任意单个字符
[:digit:]、[:lower:]、[:upper:]、[:alpha:]、[:alnum:]、[:punct:]、[:space:]
匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数
*:匹配前面的字符任意次
例如:grep 'x*y'
.*:任意长度的任意字符
\ ?:匹配其前面的字符0或1次,即前面的可有可无
\*:匹配其前面的字符至少1次
位置确定:
^:行首确定,用于模式的最左侧
$:行尾确定,用于模式的最右侧
^PATTERNS:用于模式匹配整行
^$:空行

浙公网安备 33010602011771号