1、正则表达式:一种用来描述文本模式的特殊语法。
2、基本元字符集及其含义
^ 只匹配行首
$ 只匹配行尾
* 匹配0个或多个单字符
[] 只匹配[]内字符。可以是一个单字符,也可以是字符序列。可以使用-表示[]内字符序列范围,如用[1-5]代替[12345]
/ 只用来屏蔽一个元字符的特殊含义
. 只匹配任意单字符
pattern/{n/} 只用来匹配前面pattern出现次数。n为次数。
pattern/{n,/} 含义同上,但次数最少为n
pattern/{n,m/} 含义同上,但pattern出现次数在n与m之间。
例如:
...x..x..x
drwxrwxrw- 不匹配
-rw-rw-rw- 不匹配
-rx-r-xr-x 匹配
-rwxrwxrwx 匹配
^d
drwxrwxrw- 匹配
-rw-rw-rw- 不匹配
-rwxrwxrwx 不匹配
^...1
3482XC763D 不匹配
3451XD7632 匹配
trouble$ 匹配一单词trouble结尾的所有字符
^$ 匹配空行
^.$ 匹配包含一个字符的行
/*/.pas 匹配以*.pas结尾的所有字符或文件(因为*.都是特殊字符)
[0123456789]或[0-9]:假定要匹配任意一个数字
[a - z]: 任意小写字符
[A-Z a-z]: 任意大、小写字母
[A-Z a-z 0-9]: 匹配任意字母或数字
[S,s]: 匹配大、小写s
A/{2/}B A出现2次,AAB
A/{4,/}B A最少出现4次,AAAAB,AAAAAAB ……
A/{2,4/}B 出现次数范围2-4次 AAb,AAAB,AAAAB
[0-9]/{3/}/.[0-9]/{3/}/.[0-9]/{3/}/.[0-9]/{3/} 匹配IP地址
awk介绍
1、可从文件或字符中基于制定规则浏览和抽取信息
2、是一种自解析的编程语言
3、三种方式调用awk:
-命令行方式:
awk [-F filed-spearator] 'command' input-files
-awk脚本
所有awk命令插入一个文件,并使awk程序可执行,然后用awk
命令解释器作为脚本的首行,以便通过键入脚本名称来调用他
-awk命令插入一个单独文件
awk -f awk-script-file input-files
4、特殊字符:+ 代表任意字符
? 代表一个字符
5、匹配操作符:~ 代表匹配
!~代表不匹配
6、awk内置变量
ARGC 命令行参数个数
ARGV 命令行参数排列
ENVIRON 支持队列中系统环境变量的使用
FILENAME awk浏览的文件名
FNR 浏览文件的记录数
FS 设置输入域分隔符,等价于命令行-F选项
NF 浏览记录的域个数
NR 已读的记录数
OFS 输出域分隔符
ORS 输出记录分隔符
RS 控制记录分隔符
7、字符串函数
gsub(r,s) 在整个$0中用s代替r
gsub(r,s,t) 在整个t中用s代替r
index(s,t) 返回s中字符串t的第一个位置
length(s) 返回s长度
match(s,r) 测试s中是否包含匹配r的字符串
split(s,a,fs) 用fs上将s分成序列a
sprint(fmt,exp) 返回经fmt格式化后的exp
sub(r,s) 用$0中最左边最长的子串代替s
substr(s,p) 返回字符串s中从p开始的后部分
substr(s,p,n) 返回字符串s中从p开始长度为n的后缀部分
sed介绍
1、sed不与初始化文件打交道,它操作的只是一个拷贝,然后所有的改动如果没有
重定向到一个文件,将输出到屏幕。
2、sed是一种重要的文本过滤工具,使用一行命令或者使用管道与grep与awk相结
合。
3、非交互性文本流编辑。
4、sed命令选项如下:
n 不打印
c 下一命令是编辑命令
f 如果正在调用sed脚本文件
信号
SIGHUP 挂起或父进程被杀死
SIGINT 来自键盘的中断信号,通常是<Ctrl+c>
SIGQUIT 从键盘退出
SIGKILL 无条件终止
SIGSEGV 段(内存)冲突
SIGTERM 软件终止(缺省杀死进程)
信号0为“退出Shell”信号。为了发出信号0,只要从命令
行键入exit,或在一个进程或命令行中使用<Ctrl + c>即可。