sed 是 stream editor 的缩写,中文称之为“流编辑器”。
代码语言:javascript复制sed command file
- command 部分,针对每行要进行的处理
- file,要处理的文件
Actions
- d:删除该行
- p:打印该行
- i:在行的前面插入新行
- a:在行的后面插入新行
- r:读取指定文件的内容。
- w:写入指定文件。
sed -n '10p' file # 显示第10行
sed -n '10,20p' file # 显示第10到20之间的行
sed -n '/pattern/p' file# 显示含有pattern的行
sed -n '/pattern1/,/pattern2/p' file # 显示patter1与pattern2之间的行
sed '10d' file # 删除第10行
sed '10,20d' file # 删除第10到20之间的行
sed '/pattern/d' # 删除匹配pattern的行
sed '/^s*$/d' file # 删除空白行
sed 's/^s*//' file # 删除行前的空白:空格,制表符
sed 's/s*$//' file # 删除行尾的空白:空格,制表符
sed 's/^s*//;s/s*$//' file # 删除行首和行尾的空白:空格,制表符
sed 's/AA/BB/' file # 将文件中的AA替换成BB,只替换一行中第一次出现的AA,替换后的结果输出到屏幕
sed 's/AA/BB/g' file # 将文件中的所有AA都替换成BB,替换后的结果输出到屏幕
sed -i 's/AA/BB/g' file # 将文件中的所有AA都替换成BB,直接更改文件的内容
sed '/CC/s/AA/BB/g' file# 只替换那些含有CC的行
sed 's/pattern/&XXXX/' file # 在pattern之后加上XXXX。&表示之前被匹配的内容
sed 's/pattern.*/&XXXX' file # 在匹配pattern的行尾加上XXXX。pattern.*表示包含pattern的整行内容
sed -n '1~4s/^@/>/p;2~4p' file.fq > file.fa # Fastq文件转Fasta文件
sed -n '2~4p' file.fq # 提取Fastq文件的序列
sed 'y/ABC/XYZ/' file # 将ABC逐字替换成XYZ
sed '1ihello' file # 在第1行前面插入一行,内容为hello,通常用来为文件增加标题
sed '1ahello' file # 在第1行后面插入一行,内容为hello
sed '1r file2' file1 # 在第1行后面读入file2的内容
sed '/pattern/w file2' file1 # 将匹配的行写入file2中