sed的应用 分分快三全天计划网站

作者:电脑系统

5,查找富含'you'的行,  /you/ 那是正则表达式, p是打字与印刷,要跟n结合起来用

7、新添多行(i行前铺排,a行后增加,其余地点相符,以a为例)

布署相仿的行,在第2行到第5行现在均插入风流罗曼蒂克行:sed '2,5a append one line ' song.txt

$ sed '2,5a append one line ' song.txt 
I'm a big big girl
In a big big world
append one line 
It's not a big big thing if you leave me
append one line 
But I do do feel
append one line 
that I do do will miss you much
append one line 
Miss you much

计划不相同的行,以n换行

在第2行前面插入三行:sed '2a append one line nappend two line nappend three line' song.txt

liuxiaoyan@development:~/mytest$ sed '2a append one line nappend two line nappend three line' song.txt   
I'm a big big girl
In a big big world
append one line 
append two line 
append three line
It's not a big big thing if you leave me
But I do do feel
that I do do will miss you much
Miss you much

比方:(要是我们有一文件名称为ab卡塔尔国

$符号在正则表明式表示行尾,所以要用 转义

四、举例

下边大家拿Emilia的Big Big World中的部分歌词文件song.txt比方,其剧情如下:

$ cat song.txt
I'm a big big girl
In a big big world
It's not a big big thing if you leave me
But I do do feel
that I do do will miss you much
Miss you much

         i ∶插入, i 的末尾能够接字串,而那一个字串会在新的一站式现身(近年来的上生龙活虎行)

9,也能够追扩展行

2、-i参数直接改变文件内容

上边的sed命令未有改良song.txt,只是把拍卖后的剧情输出,假诺要写回文件,能够使用重定向。

$ sed 'sbigsmallg' song.txt >song.bak

或接纳-i直接更正文件内容:sed -i 'sbigsmallg' song.txt

$ sed -i 'sbigsmallg' song.txt 
$ cat song.txt
I'm a small small girl
In a small small world
It's not a small small thing if you leave me
But I do do feel
that I do do will miss you much
Miss you much

sed 的[-i]参数能够直接更改文件内容,该意义十三分管用!

比喻来讲,假使有一个100万行的文本,要在第100行加有些文字。那时使用vim大概会疯掉!因为文件太大了打不开!可是通过sed直接修正/代替的功效,根本无需开辟文件就能够成就任务。和vim相比较sed就像是会魔术相仿,vim要开拓文件-操作文件-关闭文件,sed直接隔空就对文本操作了,特别方便。

正因为sed -i 效用强盛,能够直接改变原始文本,也是个危急的动作,需小心使用。

  替换生龙活虎行中的某有些

13,在1-3行,每生机勃勃行的前边都插入风流浪漫行数字

五、不难正则表明式

^:行首定位符。

$:行尾定位符。

<:词首定位符。

>:词尾定位符。

.:相称除换行以外的单个字符。

*:相称0个或八个前导字符。

[]:相称字符集合里的任一字符。

[^] :相配不在钦定字符集合里的任一字符。

 

更加尖锐摸底可参看以下资料:

《shell幼功十一篇》

sed 简明教程- 酷壳陈皓

sed '/My/,10d' datafile

选项:

8、c指令以行为单位替换

 把第2到第5行的剧情替换为2-5content:sed '2,5c 2-5content' song.txt

$ sed '2,5c 2-5content' song.txt 
I'm a big big girl
2-5content
Miss you much

    从shell向sed传值: echo $NAME | sed "s/go/$REP/g"   注意须要接纳双引号

ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
fine thank you
bye bye
ghostwu@dev:~/linux/sed$ sed -i '1,3a 123457' ghostwu.txt 
ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
123457
how are you
123457
fine thank you
123457
bye bye

9、p指令突显方式空间的原委

以行为单位出示,

展现song.txt文件中的第2到第5行: sed -n '2,5p' song.txt

$ sed -n '2,5p' song.txt 
In a big big world
It's not a big big thing if you leave me
But I do do feel
that I do do will miss you much

招来相称展现:

来得相配'Miss'的行:sed -n '/Miss/p' song.txt

$ sed -n '/Miss/p' song.txt 
Miss you much

 

常用命令:

二、sed简介

sed:是四个编辑器,是贰个强盛的文件管理工具。

sed效能:用来替换、删除,更新文件中的内容。sed能自动管理三个或多少个文件。

sed原理:sed以文本的表现单位张开始拍片卖,三次拍卖大器晚成行内容。首先sed把当前拍卖的行存款和储蓄在一时缓冲区中(称为方式空间pattern space卡塔 尔(英语:State of Qatar),接着管理缓冲区中的行,管理达成后,把缓冲区的剧情送往显示器。sed管理完生龙活虎行就将其从临时缓冲区删除,然后将下黄金年代行读入,实行管理和展现,那样不断的再度,直到文件末尾。管理完文件的末段黄金时代行后,sed便停止运转。

因为sed是对文本中每行在近些日子缓冲区中的副本进行编写制定,所以原著件内容并不曾改观,除非重定向输出。

        a ∶新扩张, a 的末端能够接字串,而这一个字串会在新的风流浪漫行现身(近年来的下一行)

    -n∶使用安静(silent)情势。在相仿 sed 的用法中,全体来自 STDIN的素材平常都会被列出到荧屏上。但若是加上 -n 参数后,则唯有经过sed 特殊处理的那豆蔻梢头行(或然动作)才会被列出来。

一、初识sed

在安插openstack的长河中,会触发到大气的sed命令,比方

# Bind MySQL service to all network interfaces.
sed -i 's/127.0.0.1/0.0.0.0/g' /etc/mysql/my.cnf

那么那条命令是什么看头?接下去介绍sed命令答案当然就发布了。

    a/    在稳住行号后附加新文本音讯       r     从另二个文书中读文本

8,在率先行和第二行的背后,扩大意气风发行

4、删除命令d:删除相称的行

命令d删除相称的输入行,sed先将输入行从文件复制到格局空间里,然后对该行施行sed命令,最终将方式空间的剧情显示在荧屏上。假如是命令d,当前情势空间里的输入行会被剔除,不被出示。

运用匹配删除行

删除song.txt文件中第二遍包罗“Miss”的行 :sed '/Miss/d' song.txt

$ sed '/Miss/d' song.txt 
I'm a big big girl
In a big big world
It's not a big big thing if you leave me
But I do do feel
that I do do will miss you much

上面是选择行号删除行的事例

剔除song.txt文件中的第1行:sed '1d' song.txt

$ sed '1d' song.txt 
In a big big world
It's not a big big thing if you leave me
But I do do feel
that I do do will miss you much
Miss you much

删除song.txt文件中2到5行:sed '2,5**d**' song.txt  

$ sed '2,5d' song.txt   
I'm a big big girl
Miss you much

删去song.txt文件中第3行今后的行:sed '3,$**d**' song.txt

$ sed '3,$d' song.txt 
I'm a big big girl
In a big big world

正则相称能够和行号一齐行使,举叁个openstack布署中的例子:

剔除第一遍包含“eth2”的行到最后全部的行:sed -i '/eth2/,$d' /etc/network/interfaces

定址

3,删除第后生可畏行到第二行

6、插入命令i,在这里时此刻行前布署意气风发行

i增多新文本到文件中当前行(即读入情势空间中的行卡塔 尔(英语:State of Qatar)的前边。

在song.txt文件中第3行后插入意气风发行:sed '3i#iiiiiiiiiiiiiiiiiiiiiiiiiii' song.txt  【#用作分隔符】

$ sed '3i#iiiiiiiiiiiiiiiiiiiiiiiiiii' song.txt                
I'm a small small girl
In a small small world
iiiiiiiiiiiiiiiiiiiiiiiiiii
It's not a small small thing if you leave me
But I do do feel
that I do do will miss you much
Miss you much

在song.txt文件中相配'Miss'的行后边插入少年老成行:sed '/Miss/i iiiiiiiiiiiiiii' song.txt【空格作为分隔符】

$ sed '/Miss/i iiiiiiiiiiiiiii' song.txt                           
I'm a small small girl
In a small small world
It's not a small small thing if you leave me
But I do do feel
that I do do will miss you much
iiiiiiiiiiiiiii
Miss you much

    x,y    表示行号范围从x到y,如2,5代表从第2行到第5行

ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
hod old are you
and you
fine thank you
come with me!!!
how much do you have
50$
oh, is it?
yes
ghostwu@dev:~/linux/sed$ sed '1a 你好啊' ghostwu.txt 
this is ghostwu
你好啊
how are you
hod old are you
and you
fine thank you
come with me!!!
how much do you have
50$
oh, is it?
yes

1、s交替命令

将song.txt文件中每行的第叁个big替换为small:

sed 's/big/small/' song.txt

释疑:s:替换命令,/big/:相配big字符串,/small/:把相称替换到small。

$ sed 's/big/small/' song.txt
I'm a small big girl
In a small big world
It's not a small big thing if you leave me
But I do do feel
that I do do will miss you much
Miss you much

将song.txt文件中每行全部的big替换为small:

sed 's/big/small/g' song.txt

释疑:同上,/g表示生机勃勃行上替换所有的同盟

$ sed 's/big/small/g' song.txt
I'm a small small girl
In a small small world
It's not a small small thing if you leave me
But I do do feel
that I do do will miss you much
Miss you much

Note:这里也能够采取 sed 's#big#small#g' song.txt  ,紧跟s命令的标识都会被以为是寻觅串和替换串之间的相间符,这里运用#,其实无论如何字符串(换行符,反斜线除此而外卡塔 尔(阿拉伯语:قطر‎,只要紧跟s命令,就成了新的串分隔符。

将song.txt文件中每行第二个big替换为small: sed 's/big/small/2' song.txt

演说:/2代表钦点风华正茂行中首个极其的字段操作

$ sed 's/big/small/2' song.txt 
I'm a big small girl
In a big small world
It's not a big small thing if you leave me
But I do do feel
that I do do will miss you much
Miss you much

    pattern/{n,/} 相配形式现身起码n次。

 

3、-e参数编辑命令,进行多行相配

-e是编写命令,用于sed推行多少个编辑职务的情景下。在下生机勃勃行初叶编写制定前,全数的编写动作都将采纳到格局缓冲区中的行上。因为是逐行进行多种编排(即每种命令都在方式空间的近期进上实施卡塔尔,所以编写制定命令的依次会潜移暗化结果

即使大家要叁遍替换多个方式,

sed "1,3s/big/small/g; 4,5s/do/don't/g" song.txt

释疑:第二个形式:把第大器晚成行到第三行的big替换成small;第3个方式:把第四行到第五行的do替换到don't。

$ sed "1,3s/big/small/g; 4,5s/do/don't/g" song.txt
I'm a small small girl
In a small small world
It's not a small small thing if you leave me
But I don't don't feel
that I don't don't will miss you much
Miss you much

上面包车型地铁下令等价于:sed  -e "1,3s/big/small/g" -e "4,5s/do/don't/g" song.txt 

$ sed  -e "1,3s/big/small/g" -e "4,5s/do/don't/g" song.txt  
I'm a small small girl
In a small small world
It's not a small small thing if you leave me
But I don't don't feel
that I don't don't will miss you much
Miss you much

    使用p(rint)呈现行: sed -n '2p' temp.txt   只展现第2行,使用选项n

4,删除第二行到终极风流洒脱行

三、sed命令介绍

#sed [-nefri][命令]

参数表达:

-i:直白更改文件,终端不出口结果

-n:使用安静(slient卡塔 尔(阿拉伯语:قطر‎格局,收回暗中同意输出。sed暗中同意会将具有来自stdin的数目输出到极点上。但假诺加上-n参数后,不活动打字与印刷管理后的结果,只是默默的管理,独有通过sed特殊管理的那黄金年代行才被列出来。

-e: --expression一直在命令形式上实行sed的动作编排。sed -e '...' -e '...' -e '...'

-f:钦命sed脚本的文书名。

-r:sed动作支持的是延伸型正规表示法的语法。(私下认可是底蕴典型表示乌克兰语法卡塔 尔(英语:State of Qatar)

一声令下表明:[n1][n2]命令

n1,n2:表示行号,该参数可选,平时期表愿意操作的行数,能够是数字,正则表明式或双边混合。

用逗号分隔的多个行数表示这两行为起止的行的界定。如1,3意味1,2,3行,英镑符号($卡塔 尔(英语:State of Qatar)表示最后意气风发行。如何未有一些名地址,sed将管理输入文件的全部行。地址日常的写法有:n;n,m;n,$。举例,假若笔者的操作是必要在3到5行里面展开的,则【3,5,[动作表现]】。

命令:

a:新增添,在现阶段行的下一行充实生龙活虎行文本。

i:插入,在当下行的上一行安排豆蔻梢头行文本。

c:替换,以行为单位举办轮流,c的背后能够跟字符串,用这一个字符串替代n1,n2之间的行。

d:删除,从方式空间删除生机勃勃行。

p:打字与印刷,打字与印刷形式空间的行。平常p会与参数【-n】一齐行使。

s:替换,平凡s命令能够搭配正则表明式!例如1,20s/old/new/g。

    option如下:

 

10、-n参数撤销暗中认可输出

上边包车型地铁p命令突显时,用到-n参数,因为sed私下认可把输入行打字与印刷在显示屏上:sed '/Miss/p' song.txt

liuxiaoyan@development:~/mytest$ sed '/Miss/p' song.txt    
I'm a big big girl
In a big big world
It's not a big big thing if you leave me
But I do do feel
that I do do will miss you much
Miss you much
Miss you much

所以要打字与印刷选定内容,用-n配合p来使用。

      n 不打字与印刷; sed不写编辑行到标准输出,缺省为打字与印刷全数行(编辑和未编写制定),p命令能够用来打字与印刷编辑行

        a   ∶新增
        c   ∶取代
        d   ∶删除
         i   ∶插入
         p  ∶列印
         s  ∶取代

5、插入命令a,在如今进后扩张生机勃勃行

a增添新文本到文件中当前进(即读入情势空间中的行卡塔 尔(阿拉伯语:قطر‎的末端。

在song.txt文件中第3行后插入生龙活虎行并一贯效果于song.txt:sed '3a AAAAAAAAAAAAAAAAAAAAAAA' song.txt 【用空格作为分隔符】

$ sed -i '3a AAAAAAAAAAAAAAAAAAAAAAA' song.txt 
$ cat song.txt
I'm a big big girl
In a big big world
It's not a big big thing if you leave me
AAAAAAAAAAAAAAAAAAAAAAA
But I do do feel
that I do do will miss you much
Miss you much

在相配'Miss'的行后安排意气风发行:sed '/Miss/a AAAAAAAAAAAAAAAAAAAAAAAAAA' song.txt 【用空格作为分隔符】

$ sed '/Miss/a AAAAAAAAAAAAAAAAAAAAAAAAAA' song.txt                                
I'm a small small girl
In a small small world
It's not a small small thing if you leave me
But I do do feel
that I do do will miss you much
Miss you much
AAAAAAAAAAAAAAAAAAAAAAAAAA

在song.txt最终插入生龙活虎行:sed '$a append line' song.txt

$ sed '$a append line' song.txt 
I'm a big big girl
In a big big world
It's not a big big thing if you leave me
But I do do feel
that I do do will miss you much
Miss you much
append line

    's/^////g'         删除渠道中率先个/

     -i∶间接更改读取的档案内容,并不是由银屏输出。       

    sed [option] sed命令 输入文件            在指令行使用sed命令,实际命令要加单引号

ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
fine thank you
ghostwu@dev:~/linux/sed$ sed 's/is/IS/' ghostwu.txt 
thIS is ghostwu
how are you
fine thank you
ghostwu@dev:~/linux/sed$ sed 's/is/IS/g' ghostwu.txt 
thIS IS ghostwu
how are you
fine thank you
ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
fine thank you

     [root@localhost ruby] # sed '1,3a drink tea' ab #第意气风发行到第三行后扩展字符串"drink tea"

格式:sed [option] [command] [file]

     [root@localhost ruby] # sed '1a drink tea' ab  #率先行后扩张字符串"drink tea"

10, c为轮番操作,数字的意趣,跟下边的a同样,代表行

 

ghostwu@dev:~/linux/sed$ cat -n ghostwu.txt 
     1    this is ghostwu
     2    how are you
     3    hod old are you
     4    and you
     5    fine thank you
     6    come with me!!!
ghostwu@dev:~/linux/sed$ sed '1d' ghostwu.txt 
how are you
hod old are you
and you
fine thank you
come with me!!!
ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
hod old are you
and you
fine thank you
come with me!!!

急迅意气风发行命令:

ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
fine thank you
ghostwu@dev:~/linux/sed$ sed '1,2c hey guy' ghostwu.txt 
hey guy
fine thank you
ghostwu@dev:~/linux/sed$ sed '1c hey guy' ghostwu.txt 
hey guy
how are you
fine thank you

6、使用[]异常八个范围或集合     使用[ ]优越特定字符串或字符串集,能够用逗号将括弧内要合营的两样字符串分开,但并不强制供给那样做(一些连串倡导在长短不一的表达式中使用逗号卡塔 尔(阿拉伯语:قطر‎,这样做能够增 加情势的可读性。使用“ -”表示二个字符串范围,注明字符串范围从“ -”侧面字符初阶,到“ -”侧边字符结束。假定要同盟率性一个数字,能够行使:[ 0 1 2 3 4 5 6 7 8 9 ]    要相称率性字母,则动用:[ A - Z a - z ]证明从A - Z、a - z的字母范围。

ghostwu@dev:~/linux/sed$ sed '1,2a learning how to use sed command' ghostwu.txt this is ghostwu
learning how to use sed command
how are you
learning how to use sed command
fine thank you

     [root@localhost ruby] # sed '1c Hi' ab                #首先行代表为Hi

12、-i :修正,插入文件,会影响文件的原委,在结尾少年老成行,插入bye bye

     [root@localhost ruby] # sed '$d' ab              #去除最终风流倜傥行

2,删除最终风姿洒脱行,$代表最终生龙活虎行

             结果将在source字符串后边加上"ADD BEFORE",这里的&表示找到的source字符并保留

ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
hod old are you
and you
fine thank you
come with me!!!
ghostwu@dev:~/linux/sed$ sed '1,2d' ghostwu.txt 
hod old are you
and you
fine thank you
come with me!!!

 

ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
hod old are you
and you
fine thank you
come with me!!!
ghostwu@dev:~/linux/sed$ sed -n '/you/p' ghostwu.txt 
how are you
hod old are you
and you
fine thank you

     Hello!

7,在率先行前面,扩张朝气蓬勃行“你好哎"

        -n∶裁撤暗中认可的输出,使用安静(silent)形式。在经常 sed的用法中,全数来自 STDIN的资料日常都会被列出到荧屏上。但生龙活虎旦加上 -n 参数后,则唯有由此sed 特殊管理的那后生可畏行(或许动作)才会被列出来

sed是三个很强盛的公文管理工科具,重要是以行为单位开展拍卖,能够将数据行开展沟通、删除、新添、选拔等特定工作

    删除文本: sed '1d' temp.txt 大概 sed '1,4d' temp.txt

6,相称$符号结尾的行

 

ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
fine thank you
ghostwu@dev:~/linux/sed$ sed '1a 你好啊n很高兴认识你' ghostwu.txt 
this is ghostwu
你好啊
很高兴认识你
how are you
fine thank you

    从文件中读文件: sed '/name/r temp2.txt' temp.txt

ghostwu@dev:~/linux/sed$ sed '2,$d' ghostwu.txt 
this is ghostwu

    相称字母A现身四次,并以B结尾,操作如下:A / { 2 / } B匹配值为A A B    相配A起码4次,使用:A / { 4 , / } B

11, s:替换相称到的剧情, s:替换开首 /is/ 相称满含is的行   g:全体沟通

        HERE ADD NEW LINE.     #丰硕的文书内容

1,sed '1d' ghostwu.com   d代表删除 d后边的数字代表删除第风姿浪漫行,该命令不会改进文件本人

基本sed编制程序譬如:

ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
hod old are you
and you
fine thank you
come with me!!!
ghostwu@dev:~/linux/sed$ sed '$d' ghostwu.txt 
this is ghostwu
how are you
hod old are you
and you
fine thank you

     [root@localhost ruby] # sed -i '$a bye' ab         #在文书ab中最终风流倜傥行直接输入"bye"

ghostwu@dev:~/linux/sed$ sed -n '/$/p' ghostwu.txt 
50$

 

ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
fine thank you
ghostwu@dev:~/linux/sed$ sed -i '$a bye bye' ghostwu.txt 
ghostwu@dev:~/linux/sed$ cat ghostwu.txt 
this is ghostwu
how are you
fine thank you
bye bye

    x      x为豆蔻年华行号,比如1

sed -n '100,200p' mysql_slow_query.log

    's/^.//g'          删除第贰个字符,不一样  's//.//g'删除全数的句点

    x,y!   查询不含有内定行号x和y的行

     ruby is me,welcome to my blog.

 

    在指令行键入命令;将sed命令插入脚本文件,然后调用sed;将sed命令插入脚本文件,并使sed脚本可进行

# 只查看文件的第100行到第200行

                     sed '/name/ w temp2.txt' temp.txt

在文书的率先行前面插入黄金年代行abc

     [root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby/bird/g'    #替换ruby为bird

  增添风流洒脱行或多行字符串

      f 如若正在调用sed脚本文件,使用此选项,此选项通告sed二个本子文件扶植所用的sed命令,如

             sed 's/source/OKSTKoleos/w temp2.txt' temp.txt 将替换后的笔录写入文件temp2.txt

    打字与印刷范围:  sed -n '1,3p' temp.txt         打字与印刷第1行到第3行

-e是编辑命令,用于sed试行多少个编辑职责的情况下。在下生机勃勃行开端编写制定前,全数的编辑动作将利用到形式缓冲区中的行上。

     Hi

     删除某行

    打字与印刷格局:  sed -n '/movie/'p temp.txt     打字与印刷含movie的行

    校勘文件: /name1/ a/ 改成 /name1/ c/ 将校正整行,c改善

 

    '-e /abcd/d'       删除满含abcd的行

             sed 's//$//g' temp.txt             将文件中负有的$符号全体去除

    g     将模式2粘贴到/pattern n/

    大肆字符:  sed -n '/.*ing/'p temp.txt     注意是.*ing,而不是*ing

    /pattern/   查询包括形式的行,如/disk/或/[a-z]/

     [root@localhost ruby] # sed -n '/$/p' ab        #询问满含首要字$所在全体行,使用反斜线屏蔽特殊意义

     ruby is me,welcome to my blog.

        #!/bin/sed -f

 

#剔除满含"My"的行到包涵"You"的行之间的行

 

 

sed 's/[ ][ ]*/ /g' file_name

     Hello!

     ruby is me,welcome to my blog.

 

    n     从另三个文件中读文本下生机勃勃行,并附加在下大器晚成行   {}    在一定行实践的命令组

        d ∶删除,因为是去除,所以 d 前边平日不接任何内容

    p     打字与印刷相配行                     c/    用新文本替换定位文本

 

 

    's/COL/(.../)//g'  删除紧跟COL的后三个字母

# 若是空格与tab共存时用下边包车型大巴一声令下进行轮流

#去除第二到第五行

# 替换来分隔符:

    使用重定向文件就能够保存sed的出口

     [root@localhost ruby] # sed '2,$d' ab           #除去第二行到终极生机勃勃行

常用选项:

 

     [root@localhost ruby] # sed '1d' ab              #除去第意气风发行

 

sed -n '3p' datafile

     end

    's//.$//g'         删除以句点结尾行

    附Gavin本:(创制sed脚本文件)chmod u x script.sed,运营时./script.sed temp.txt

 

        -f∶内定sed脚本的文件名. 直接将 sed 的动作写在一个档案内, -f filename 则能够推行 filename 内的sed 动作

==============

        -e∶进行多项编辑,即对输入行使用多条sed命令时使用.直接在指令列格局上举行 sed 的动作编排

 

sed -e '1,10d' -e 's/My/Your/g' datafile

 

#选料-e用于开展多种编排。第生机勃勃重编排删除第1-3行。第二重编排将应际而生的持有My替换为Your。因为是逐行进行这两项编辑(即那五个指令都在格局空间的当下行上推行卡塔 尔(英语:State of Qatar),所以编辑命令的顺序会潜濡默化结果。

定址用于决定对如何行举行编辑。地址的方式得以是数字、正则表达式、或二者的结合。若无一些名地方,sed将管理输入文件的持有行。

     [root@localhost ruby]# cat ab

 

     ruby is me,welcome to my blog.

7、使用/{/}相称形式结果现身的次数    使用*可相称全数相配结果狂妄次,但如若假定钦命次数,就应运用/ { / },此情势有二种情势,即:

///////////////////////////////////////////////////////////////////////

===============

 

     drink tea

     [root@localhost ruby] # sed -n '1,2p' ab        #体现第意气风发行到第二行

sed 's/'''//g'

.    [root@localhost ruby] # sed -n '1p' ab           #来得第一行

      c 下一指令是编写命令,使用多项编辑时步向此选项

sed 's/[ ][ ]*/:/g' file_name

# 替换八个或三个空格为三个空格

 

        -i∶直接改正读取的文件内容,实际不是由显示器输出     

         p∶列印,亦将在有些选项的材质印出。日常 p 会与参数sed -n 一同用

    插入文本: /name1/ a/ 改成 4 i/ 4代表行号,i插入

    d     删除定位行                      q     第多个格局匹配完成后退出或立时退出

     Hello!

基本sed编辑命令:

 

2、在行首以^相配字符串或字符类别    ^只允许在后生可畏行的起来相称字符或单词。在行首第1个字符为1,相称操作表示为:^ . . . 1

5、使用/屏蔽一个特殊字符的意思    一时必要研究一些字符或字符串,而它们含有了系统钦命为特殊字符的八个字符。假如要在正则表明式中卓殊以* . p a s结尾的享有文件,可做如下操作:/ * / . p a s

 

sed -i '1iabc' urfile

     end

    使用格局和行号查询:  sed -n '3,/movie/'p temp.txt   只在第3行追寻movie并打字与印刷

只打字与印刷第三行

    's//.[][]*/[]/g'   删除句号后跟五个或越来越多的空格,用一个空格替代

能够那样写:

        /name1/ a/             #a/表示此处换行添Gavin本

sed 's/'"'"'//g'

 

 

 

 

sed '2,5d' datafile

    替换改善字符串: sed 's/source/"ADD BEFORE" &/p' temp.txt

    x,/pattern/ 通过行号和情势查询相称行,如 3,/disk/

    sed脚本文件 [option] 输入文件            第生龙活虎行兼顾sed命令解释器的sed脚本文件

     [root@localhost ruby] # sed '1,2d' ab           #去除第生机勃勃行到第二行

     end

sed的应用 分分快三全天计划网站。    替换文本: sed 's/source/OKSTTucson/' temp.txt     将source替换到OKST福睿斯

应用sed在文书中一向文本的方法:

     drink tea

   

sed命令的调用:

     [root@localhost ruby] # sed '1a drink teanor coffee' ab   #第风流倜傥行后扩展加行,使用换行符n

    's/^[][]*//g'      删除行首空格

    =     彰显文件行号                    s     使用替换形式替换相应形式

     [root@localhost ruby] # sed '1,2c Hi' ab             #先是行到第二行代表为Hi

     end

sed 's/[[:space:]][[:space:]]*sed的应用 分分快三全天计划网站。/:/g' filename

 

     drink tea

        c ∶替代, c 的后面能够接字串,那些字串能够取代n1,n2 之间的行

    pattern/{n/} 相称方式现身n次。

     [root@localhost ruby]# cat ab

  使用情势张开询问

    l     突显与八进制ASCII代码等价的支配字符        y  传送字符

    sed结果写入到文件: sed '1,2 w temp2.txt' temp.txt

 

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

# 替换到空格

     or coffee

 替换:

     Hi

     [root@localhost ruby] # sed -n '2,$p' ab        #来得第二行到终相当的大器晚成行

# 替换五个或多少个空格为分隔符:

     ruby is me,welcome to my blog.

  替代黄金时代行或多行

     Hello!

  地址是逗号分隔的,那么供给管理的地点是这两行时期的节制(包罗这两行在内卡塔尔。范围能够用数字、正则表达式、或二者的构成代表。举例:

     [root@localhost ruby] # sed -n '/ruby/p' ab    #询问富含首要字ruby所在全体行

sed '/My/,/You/d' datafile

 ==============

     drink tea

 

     end

    '/^$/d'            删除空行

#去除包罗"My"的行到第十行的原委

    i/    在固定行号后插入新文本音讯       w     写文本到多少个文件

  只展现钦命行范围的文件内容,比如:

sed s/'//g

     [root@localhost ruby] # sed -n '$p' ab           #突显最平生机勃勃行

 

 

 

     Hello!

sed的应用 分分快三全天计划网站。     end

退换单引号为空:

4、使用*相称字符串中的单字符或其再度系列    使用此非常字符匹配大肆字符或字符串的双重多次表明式。

    /pattern/,x 在给定行号上询问富含方式的行,如/disk/,3

     插入

   [root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby//g'        #删除ruby

    显示整个文件:  sed -n '1,$'p temp.txt      $为结尾风流倜傥行

 

    在每列最后Gavin本: sed 's/[0-9]*/& Pass/g' temp.txt

、使用句点相称单字符    句点“.”能够宽容恣意单字符。“.”能够相配字符串头,也能够是当中大肆字符。假定正在过滤一个文书文件,对于二个有1 0个字符的脚本集,供给前4个字符之后为X C,相称操作如下:. . . .X C. . . .

    's/[][][]*/[]/g'   删除二个之上空格,用贰个空格代替

    pattern/{n,m} 相配格局现身n到m次之间,n , m为0 - 2 5 5中专擅整数。

     ruby is me,welcome to my blog.

 

sed命令行格式为:

    /pattern/pattern/   查询包蕴八个格局的行,如/disk/disks/

3、在行尾以$相配字符串或字符    能够说$与^正相反,它在行尾相称字符串或字符, $符号放在相配单词后。假使在行尾相称单词j e t 0 1,操作如下:j e t 0 1 $    如若只回去包蕴叁个字符的行,操作如下:^ . $

 

     end

 

    sed [option] -f sed脚本文件 输入文件     使用sed脚本文件

sed 's/[[:space:]][[:space:]]*/ /g' filename

 

  格式:sed 's/要替换的字符串/新的字符串/g'   (要替换的字符串能够用正则表明式卡塔尔

  展现某行

 

    打字与印刷行号:  sed -e '/music/=' temp.txt

 

     bye

 

 

 

常用命令:

 

        -r∶sed 的动作支持的是延伸型正则表明式的语法。(预设是底蕴正则表达式语法)

 

         s∶替代,能够一贯开展交替的办事。经常这些 s 的动作能够搭配正则表明式。举个例子 1,20s/old/new/g

地点是二个数字,则意味行号;是“$"符号,则表示末了生机勃勃行。举例:

 

          sed -f myscript.sed input_file  这里myscript.sed即为辅助sed命令的文书

     drink tea

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划 Linux sed