前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文本处理三驾马车之 sed

文本处理三驾马车之 sed

作者头像
简说基因
发布2024-03-01 17:29:08
760
发布2024-03-01 17:29:08
举报
文章被收录于专栏:简说基因简说基因

sed 是 stream editor 的缩写,中文称之为“流编辑器”。

代码语言:javascript
复制
sed command file
  • command 部分,针对每行要进行的处理
  • file,要处理的文件

Actions

  • d:删除该行
  • p:打印该行
  • i:在行的前面插入新行
  • a:在行的后面插入新行
  • r:读取指定文件的内容。
  • w:写入指定文件。
代码语言:javascript
复制
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 '1i\hello' file		# 在第1行前面插入一行,内容为hello,通常用来为文件增加标题
sed '1a\hello' file		# 在第1行后面插入一行,内容为hello
sed '1r file2' file1	        # 在第1行后面读入file2的内容
sed '/pattern/w file2' file1    # 将匹配的行写入file2中
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 简说基因 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Actions
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档