Linux Shell笔记 (二) 正则表达式

1、正则表达式:一种用来描述文本模式的特殊语法。2、基本元字符集及其含义^ 只匹配行首$ 只匹配行尾* 匹配0个或多个单字符[] 只匹配[]内字符。可以是一个单字符,也可以是字符序列。可以使用-表示[]内字符序列范围,如用[1-5]代替[12345]/ 只用来屏蔽一个元字符的特殊含义. 只匹配任意单字符pattern/{n/} 只用来匹配前面pattern出现次数。n为次数。pattern/{n,/} 含义同上,但次数最少为npattern/{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>即可。

人生就是一次充满未知的旅行,在乎的是沿途的风景,

Linux Shell笔记 (二) 正则表达式

相关文章:

你感兴趣的文章:

标签云: