Linux中如何使用sed命令

大型号

大型号

2016-02-19 19:44

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐Linux中如何使用sed命令,希望大家看完后也有个好心情,快快行动吧!

Linux中sed命令主要用于文本的处理,可处理文本的行和列,下面图老师小编就给大家详细介绍下Linux中sed命令的用法,有兴趣的朋友不妨来了解下吧。

 Linux中如何使用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 就是啦!

举例:(假设我们有一文件名为ab)

删除某行

[root@localhost ruby] # sed ‘1d’ ab #删除第一行

[root@localhost ruby] # sed ‘$d’ ab #删除最后一行

[root@localhost ruby] # sed ‘1,2d’ ab #删除第一行到第二行

[root@localhost ruby] # sed ‘2,$d’ ab #删除第二行到最后一行

显示某行

。 [root@localhost ruby] # sed -n ‘1p’ ab #显示第一行

[root@localhost ruby] # sed -n ‘$p’ ab #显示最后一行

[root@localhost ruby] # sed -n ‘1,2p’ ab #显示第一行到第二行

[root@localhost ruby] # sed -n ‘2,$p’ ab #显示第二行到最后一行

使用模式进行查询

[root@localhost ruby] # sed -n ‘/ruby/p’ ab #查询包括关键字ruby所在所有行

[root@localhost ruby] # sed -n ‘/$/p’ ab #查询包括关键字$所在所有行,使用反斜线屏蔽特殊含义

增加一行或多行字符串

[root@localhost ruby]# cat ab

Hello!

ruby is me,welcome to my blog.

end

[root@localhost ruby] # sed ‘1a drink tea’ ab #第一行后增加字符串drink tea

Hello!

drink tea

ruby is me,welcome to my blog.

end

[root@localhost ruby] # sed ‘1,3a drink tea’ ab #第一行到第三行后增加字符串drink tea

Hello!

drink tea

ruby is me,welcome to my blog.

drink tea

end

drink tea

[root@localhost ruby] # sed ‘1a drink teanor coffee’ ab #第一行后增加多行,使用换行符n

Hello!

drink tea

or coffee

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

ruby is me,welcome to my blog.

end

代替一行或多行

[root@localhost ruby] # sed ‘1c Hi’ ab #第一行代替为Hi

Hi

ruby is me,welcome to my blog.

end

[root@localhost ruby] # sed ‘1,2c Hi’ ab #第一行到第二行代替为Hi

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/diannaorumen/)

Hi

end

替换一行中的某部分

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

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

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

插入

[root@localhost ruby] # sed -i ‘$a bye’ ab #在文件ab中最后一行直接输入bye

[root@localhost ruby]# cat ab

Hello!

ruby is me,welcome to my blog.

end

bye

上面就是Linux下sed命令的用法介绍了,sed命令的用法与awk相似,但是sed命令对列的处理功能更为强大,你可根据实际情况进行更新。

展开更多 50%)
分享

猜你喜欢

Linux中如何使用sed命令

电脑入门
Linux中如何使用sed命令

Linux下sed命令使用全解析

服务器
Linux下sed命令使用全解析

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Linux下如何使用sed命令替换字符串

电脑入门
Linux下如何使用sed命令替换字符串

Linux中如何使用history命令

电脑入门
Linux中如何使用history命令

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Linux中如何使用vmstat命令

电脑入门
Linux中如何使用vmstat命令

Linux系统中如何使用crond命令

电脑入门
Linux系统中如何使用crond命令

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

MAC如何将最近使用的应用程序整合到Stack

MAC如何将最近使用的应用程序整合到Stack

Linux下创建管理用户和组的方法

Linux下创建管理用户和组的方法
下拉加载更多内容 ↓