生物信息学Linux

shell编程之正则表达式

2019-12-06  本文已影响0人  李菜菜同学

一、正则表达式

1.什么是正则表达式

正则表达式用于描述字符排列和匹配模式的一种语法规则。主要用于字符串的模式分割、匹配、查找及替换操作。主要用于匹配。

2.正则表达式与通配符

正则表达式用来在文件中匹配符合条件的字符串,正则是包含匹配。grep、awk、sed命令可以支持正则表达式。

通配符用来匹配符合条件的文件名,通配符是完全匹配,ls、find、cp这些命令不支持正则表达式,所以只能用shell自己的通配符来进行匹配了。

通配符 通配符例子

3.基础正则表达式1

基础正则表达式 “*”匹配

4.基础正则表达式2

“.”匹配 例子 "^"号和”$号 “[]”号 "[^]"号代表取反

5.基础正则表达式3

"\”转义符 “\{n\}”符 “\{n,\}”符 “\{n,m\}”符

6.正则表达式案例

匹配日期和ip

清空linux中文本的内容:esc退出后,按小写d、再按大写G,会从光标的所在行清空到整个行尾。

二、字符截取命令

1.cut命令

cut命令 例子 例子

2.printf命令

输出类型 输出格式 例子 格式 例子 print和printf命令

3.awk命令

格式 例子

4.sed命令

sed是一种几乎包括所有unix平台(包括linux)的轻量级编辑器。sed主要用来将数据进行选取/替换/删除/新增的命令。

sed命令格式 sed支持的动作

例子:

sed  ‘2p’  test.txt #查看文件的第二行

sed -n  ‘2p’  test.txt #只打印出第二行

sed  '2,4d'  test.txt #删除第二行到第四行的数据,但是不修改文件本身

sed '2a piaolaing jiushi renxing' test.txt #在第二行后追加内容

sed ‘2i meinv‘ test.txt # 在第二行前插入两行数据

sed '2c hello'  student.txt #第四行数据替换被替换成hello

字符串替换

注意:如果不加“-i”,那么原文档的原始数据不会被修改。

三、字符处理命令

1.字符处理命令

sort命令:

排序命令

例子:

sort /etc/passwd #排序用户信息文件(按字母顺序排列)

sort -t /etc/passwd #反向排序

sort -t ":" 3,3 /etc/passwd #指定分割符是“:”,用第三字段开头,第三字段结尾排序,就是只用第三字段排序

sort -n -t ":" -k 3,3 /etc/passwd #把指定的字符串,按照数值来排序,符合用户习惯

wc命令

统计命令
上一篇下一篇

猜你喜欢

热点阅读