linux之sed用法详解

linux之sed用法详解

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法

sed命令行格式为:          

sed [-nefri] ‘command’ 输入文本

常用选项:

-n∶使用silent模式。在一般 sed 的用法中,所有来自 STDIN的信息一般都会被列出到屏幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。

-e∶直接在指令列模式上进行 sed 的动作编辑;

-f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;

-r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)  

-i∶直接修改读取的档案内容,而不是由萤幕输出。

常用命令:

a   ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~

c   ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!        

d   ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚;        

i   ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);          

p  ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~          

s  ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!


例子:

sed '2,$d' file           #删除第二行到最后一行
sed -n '2,$p' file        #显示第二行到最后一行
sed -n '/gene/p' file     #查询包括关键字gene所在所有行
sed '1a gene' file        #第一行后增加字符串"gene"
sed '1,2c gene' file      #第一行到第二行代替为gene
sed 's/rna/gene/g' file   #替换rna为gene
sed -i '/rna/d' file      #删除匹配行


  • 发表于 2018-09-07 16:27
  • 阅读 ( 2786 )
  • 分类:perl

0 条评论

请先 登录 后评论
安生水
安生水

349 篇文章

作家榜 »

  1. omicsgene 701 文章
  2. 安生水 349 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. 红橙子 78 文章
  7. rzx 75 文章
  8. CORNERSTONE 72 文章