sed的用法

作者: 生信编程日常 | 来源:发表于2020-04-12 22:16 被阅读0次

sed是一个在linux下很好用的文件处理工具,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增等。

参数说明:

-e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
-f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
-h或--help 显示帮助。
-n或--quiet或--silent 仅显示script处理后的结果。
-V或--version 显示版本信息。

常用操作:

a :新增, a 的后面可以接字串,而这些字串会在下一行出现
c :行取代, c 的后面可以接字串,这些字串可以取代某几行!
d :删除行
i :插入,i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
p :打印,即将某个选择的数据print出来
s :字符串取代

sed命令主要是:sed +参数+范围+操作 +要操作的文件。
如:sed -n '1d' a.txt #删除第一行
-n 为quiet或silent模式,1为选择第一行,d为删除

1.删除:d

sed '$d' a.txt             #删除最后一行
sed '1,2d' a.txt           #删除第一行到第二行
sed '2,$d' a.txt           #删除第二行到最后一行

对行的处理:
1 选择第1行。
2,5 选择2到5行,共4行。
1~2 选择奇数行。
2~2 选择偶数行。
2,+3 和2,5的效果是一样的,共4行。
3,$ 从第3行到文件结尾。

范围的选择还可以使用正则匹配,如:
/ab/,+2 选择出现ab字样的行,以及后面的2行。
/^a/,/b/ 选择以a开头的行,和出现b字样行之间的数据。

2.打印某行: p

sed -n '1,2p' a.txt       #打印第一行到第二行

使用模式进行查询

sed -n '/hello/p' a.txt    #查询包括关键字hello所在所有行
sed -n '/\$/p' a.txt        #查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义

3.增加一行或多行字符串: a

sed '1a hello' a.txt  #第一行后增加字符串"hello"
sed '1,3a hello lily' a.txt #第一行到第三行后各增加字符串"hello lily"
sed '1a drink hello\nlily' a.txt   #第一行后增加多行,使用换行符\n

4.替代某一行或者某几行:c

sed '1c Hello' a.txt                #第一行代替为Hello
sed '1,2c Hello' a.txt          #第一行到第二行代替为Hello

5.替换一行中的某部分: s

格式:sed 's/要替换的字符串/新的字符串/g' (要替换的字符串可以用正则表达式)

sed 's/yes/no/g' a.txt  #替换yes为no

6.插入 :i

sed -i '$a end' a.txt        #在文件a中最后一行直接输入"end"

删除匹配行

sed -i '/匹配字符串/d'  a.txt  
sed -i '/^a.*/d' a.txt

替换匹配行中的某个字符串

sed -i '/匹配字符串/s/替换源字符串/替换目标字符串/g' a.txt
sed -i 's/^a.*/hello/g' a.txt 

欢迎关注!

参考:
https://www.runoob.com/linux/linux-comm-sed.html
https://blog.csdn.net/qq_34834325/article/details/78523112

相关文章

  • 10-文本处理三剑客之sed

    本章内容 ◆ Sed介绍◆ Sed用法◆ Sed高级用法 处理文本的工具sed sed工具 练习 1、删除cent...

  • sed命令基本用法

    sed文本处理工具的用法: 用法1:前置命令 | sed [选项] '条件指令'用法2:sed [选项] ...

  • sed基础命令

    一、sed文本处理工具的用法: 用法1:前置命令 | sed [选项] '条件指令' 用法2:sed [选...

  • Linux-sed-1

    #############20190820- sed命令用法详解 sed命令用法 sed是一种流编辑器,它是文本处...

  • Linux awk和sed的用法

    sed工具简介 用法:sed [-nefri] 动作参数:-n:使用安静模式(Silent)模式,一般在sed的...

  • sed命令使用

    sed基本用法:sed: stream EDitor 行编辑器,(全屏编辑器:vi)。 sed: 模式空间 默...

  • sed命令

    sed命令 对比用paste和tr命令将fastq文件转换为fasta文件 paste sed命令 sed用法

  • 文本处理三剑客——sed基础及进阶_1

    sed基础及进阶 行编辑器; 用法:sed [option].. 'script' inputfile(处理的文件...

  • linux sed, awk命令详解

    sed 用法:sed [-nefi] 'command' file用途:处理文本 option:-n 只显示经过s...

  • inux学习 Day15-sed基本用法

    文本处理工具:grep,sed(流编辑器),awk sed基本用法:sed(Stream EDitor)行编辑器(...

网友评论

    本文标题:sed的用法

    本文链接:https://www.haomeiwen.com/subject/ediymhtx.html