生物信息学基础教程.ppt

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

强大的文本搜索工具,使用正则表达式搜索文 本,并打印匹配的行
在一个或者多个文件中搜索字符串模式,搜索 的结果输出到屏幕,不影响文件内容
2019年8月28
感谢你的Fra Baidu bibliotek看
9
grep用法
grep [option] ‘pattern’ input_files
2019年8月28
感谢你的观看
10
常用grep命令选项
5
VIM编辑功能
光标跳到文件头:命令行模式下按2下g 光标跳到文件尾:按下:$ 光标跳到行首:按下^ 光标跳到行末:按下$ 跳到100行:按下100g
2019年8月28
感谢你的观看
6
VIM查找功能
底行模式下输入/pattern/回车,对应符合 pattern的文本就会显示为高亮
基于指定的规则输出数据
2019年8月28
感谢你的观看
22
awk的三种执行方式
1. awk [option] ‘awk_script’ input_file1 [input_file2 …]
2. 将awk_script放入脚本文件并以#!/bin/awk –f 作为首 行,并赋予该脚本可执行权限,然后在shell下调用该 脚本名称执行awk_script的内容:awk_file input_file
-l
打印不匹配模式的文件清单
-n
--line-number,在匹配行前打印行 号
-s
--silent,不显示错误信息
-v
--revert-match,只显示不匹配的行
-w
--word-regexp,如果被\<和\>引用, 就把表达式作为一个单词搜索
2019年8月28
感谢你的观看
11
grep正则表达式元字符
从命令行模式到插入模式:按下i键
从命令行模式到附加模式:按下a键
返回命令行模式:按下ESC键
退出编辑
保存并退出:在命令行模式按下:wq
不保存退出:在命令行模式按下:q!
保存:在命令行模式按下:w
另存为其他文件名:按下:w filename
2019年8月28
感谢你的观看
= 显示文件行号
sed –e ‘/music/=’ temp.txt
a\ 在定位行号后附加新文本 sed ‘/jack/ \a “here add new line”’p temp.txt
i\ 在定位行号后插入新文本 sed ‘4 \i “here add new line”’p temp.txt
d 删除定位行
x x, y x~y /pattern/ x,y!
行号,指定某一行 指定x-y范围的行 从第x行开始,每隔y行 查询包含该模式的行 查询不包含指定行号x和y的行
2019年8月28
感谢你的观看
18
基本sed编辑命令
p 打印匹配行
sed –n ‘2,3’p test.txt sed –n ‘/movie/’p temp.txt
2019年8月28
感谢你的观看
20
AWK教程
——文件模式提取教程
2019年8月28
感谢你的观看
21
AWK简介
Linux下的awk有三个版本:awk、nawk、 gawk,一般所说的awk是指/bin/awk,也 就是gawk (GNU awk)
awk的功能:
基于指定规则从文件或者字符串中分解抽提 信息
2
正则表达式
所谓正则表达式(regular expression, RE), 指的是符合某种模式的字串,常 用于从文件中或者字符串中查找和替换 某些符合某种规则的字串
2019年8月28
感谢你的观看
3
VIM教程
——linux下最常用的文本编辑器
2019年8月28
感谢你的观看
4
VIM编辑器
三种模式:各种模式之间切换
2019年8月28
感谢你的观看
13
sed教程
——非交互性文本编辑
2019年8月28
感谢你的观看
14
sed简介
首先用which sed查看一下sed的位置
一个非交互性文本编辑器,编辑文件或 标准输入导出的文件拷贝
sed可以随意编辑小文件或者大文件
一次性处理所有改变,高效率
通过行号和正则表达式指定需要编辑的 行
6. awk总是输出到标准输出,如果需要输出到文件,可 采用重定向
2019年8月28
感谢你的观看
25
awk_pattern的格式
1. 正则表达式 /regexp/
① 通用的正则元字符: [] ^ $ . | () * ② +是awk特有的元字符,匹配其前的单个字符一次以上 ③ ?也是awk特有的元字符,匹配其前的单字符0/1次
-? -c -f file
?为数值,同时显示匹配行的前后? 行 --count,只打印匹配行的行数,而 不输出匹配行
从输入文件中提取模式
grep -2 ‘grep’ test.txt同时显示匹配行的 前后2行
-i
--ignore-case,忽略大小写
-q --quiet,取消显示
-l
仅打印匹配模式的文件清单
r
从另一个文本中读取文本 sed ‘/name/r temp2.txt’ temp.txt
w 写文本到另一个文件
sed ‘s/name/”my ” &/w temp2.txt’ temp.txt
2019年8月28
感谢你的观看
19
练习题:这些命令能干什么?
sed ‘s/\.$//g’ temp.txt sed –e ‘/abcd/d’ temp.txt
[^] 匹个配 字不 符在指定范围内的一 ‘[^A-FH-Z]rep’匹配所有不在A-F和H-Z范围内字符后跟rep的行
\( \) 标记匹配字符
‘\(love\)’中可以匹配love,且love被标记为\1
\< \>
分和别 结锚 束定一个单词的起始
‘\<grep’匹配以grep开始的单词 ‘grep\>’匹配以grep结束的单词
x\{5\}, x\{5,\},x\{5,10\} \w = [A-Za-z0-9] \W=[^A-Za-z0-9]
x间正的好行重复5次的行、至少重复5次的行、重复次数在5-10次之 匹配所有单个(非)字母和数字字符
\bgrep\b
只匹配单词grep,不匹配egrep等
2019年8月28
感谢你的观看
2019年8月28
感谢你的观看
26
actions的格式
actions是对awk读取记录进行的操作 actions由一条或多条语句或命令组成,
语句之间用分号分隔
2019年8月28
感谢你的观看
27
awk命令
① print “$1= ”, $1 ② printf:与c语言的printf类似 ③ next:读取下一条记录并处理 ④ nextfile:读取文件列表的下一个文件 ⑤ exit:awk停止执行并跳出。如果有END存在,
sed_script_file [option] input_file
2019年8月28
感谢你的观看
16
sed命令的选项
-n
Quiet, 不自动打印编辑
行,默认是打印的
-e
下一命令是编辑命令,
使用多项编辑时加入此
选项
-f
其后加sed脚本文件
2019年8月28
感谢你的观看
17
sed定位行号的方法
sed ‘/music/’d temp.txt
n 从另一个文本中读取下一行, sed ‘/movie/n temp2.txt’ temp.txt 并附加到下一行
c\ 用新文本替换定位文本
sed ‘4 \c “i like it”’ temp.txt
s
用替换模式替换相应模式 sed ‘s/source/okstr/”add before” &/p’ temp.txt
2. 从输入文件中读取一行,称为读入一条记录
3. 将读入的记录按照分隔符(FS/IFS)分割为多个字段, 依次为$1,$2,…., 而$0表示整条记录。
4. 将当前输入记录与awk_pattern相比较,如果匹配则 执行actions,如果不匹配则跳过读入下一条记录, 重复执行3,4,直到文件尾
5. awk把输入文件的数据读入内存,然后操作内存中的 输入数据副本,不会修改输入文件的内容
12
练习题:这些命令都能干啥?
1. ls –l | grep ‘^a’ 2. grep ‘test’ d* 3. grep ‘test’ aa bb cc 4. grep ‘[a-z]\{5\}’ aa 5. grep ‘w\(es\)t.*\1’ aa 6. grep ‘^n’ datafile 7. grep ‘4$’ datafile 8. grep ‘5\..’ datafile 9. grep ‘\.5’ datafile 10. grep ‘^[wesn]’ datafile 11. grep ‘[A-Z][A-Z] [A-Z]’ datafile 12. grep ‘ss* ’ datafile 13. grep ‘[a-z]\{9\}’ datafile 14. grep ‘\<[a-z].*n\>’ datafile
awk ‘BEGIN { actions } awk_pattern1 { actions } … awk_patternN {actions} END { actions }’ input_file
其中BEGIN 和END模块是可选的
2019年8月28
感谢你的观看
24
awk脚本的运行机制
1. 如果存在BEGIN区块,执行其中的actions
awk会执行END的actions
2019年8月28
感谢你的观看
28
awk语句
赋值语句
awk 'BEGIN {x=1 ; y=3 ; x=y ; print "x=" x " ; y=" y }‘
3. 将所有awk_script放入一个单独的脚本文件,然后用 awk –f awk_file input_file(s)执行脚本
2019年8月28
感谢你的观看
23
awk脚本的组成
可由一条或多条awk_cmd组成,两条awk_cmd 之间一般以NEWLINE分割
awk_cmd由两部分组成:awk_pattern { actions } awk命令的一般形式
举例:awk ‘/*\$0\.[0-9][0-9].*/’ input_file 2. 布尔表达式 “==”,“>”, “~/regexp/”,“&&”,
“||” 举例
① awk ‘$3 ~ /[^d]/’ input_file
② awk '($1 < 10 ) && ($2 > 10) {print "ok"}' input_file
^
锚定行的开始
‘^grep’匹配所有以grep开始的行
$ 锚定行的结束
‘grep$’匹配所有以grep结束的行
.
匹字配 符一个非换行符的任意 ‘gr.p’匹配gr后跟一个任意字符,后为p的行
* 匹配0个或多个先前字符 ‘*grep’匹配所有0个或多个空格紧跟grep的行
[] 匹配一个指定范围的字符 ‘[Gg]rep’匹配包含Grep或grep的行
sed ‘s/ */ /g’ temp.txt
sed ‘s/^[][]*//g’ temp.txt
sed ‘s/\.[][]*/[]/g’ temp.txt
sed ‘/^$/d’ temp.txt
sed ‘s/^.//g’ temp.txt
sed ‘s/COL\(…\)//g’ temp.txt
sed ‘s/^\///g’ temp.txt
生物信息学基础教程
第4讲:正则表达式教程
——正则表达式与模式匹配
2019年8月28
感谢你的观看
1
本节内容
正则表达式
正则表达式的定义与表示方法 正则表达式中的元字符(metacharacter)
VIM编辑器 grep命令 sed编辑器 awk工具
2019年8月28
感谢你的观看
2019年8月28
感谢你的观看
15
sed用法
从文件的一个文本行或标准输入中读取 数据,并将其拷贝到一个编辑缓冲区
读取命令行或者脚本的第一条命令,并 用该命令查找模式或定位行号并编辑, 重复过程直到命令结束
sed [option] ‘sed_command’ input_file
sed [option] –f sed_script_file input_file
底行模式下输入:m,n/pattern/,就会在第 m行到第n行查找pattern并高亮显示
2019年8月28
感谢你的观看
7
grep教程
——正则表达式的应用
2019年8月28
感谢你的观看
8
grep简介
是Global search regular expression (RE) and Print out the line的缩写
相关文档
最新文档