每天一个Linux命令:sed命令(查看和编辑文本内容)

sed 是 stream editor 的缩写,用于查看和编辑文件内容。

语法:

sed [选项] [正则表达式] [文件名]

选项:

-n:仅显示sed处理后的结果
-i:直接修改读取的文件内容,而不是输出到终端

...
# 更多的选项可以用 sed --help 来查看。

动作:

-p:打印
-i:插入
-a:追加
-d:删除
-c:替换指定行
-s:替换指定文本

实例:


# 实例一:以行为单位的显示('3'表示第3行,'1,3'表示第1-3行,'$'表示最后1行)

[email protected]:~/test# sed -n '3p' test3.txt
Line2

# 实例二:以行为单位的新增('3'表示第3行,'1,3'表示第1-3行,'$'表示最后1行)

[email protected]:~/test# sed -i '3i I am Jianrry!' test3.txt
[email protected]:~/test# cat -n test3.txt
     1    Line1
     2    
     3    I am Jianrry!
     4    Line2
     5    
     6    
     7    Line3
     8    
     9    
    10    Line4
...


# 实例三:以行为单位的追加('3'表示第3行,'1,3'表示第1-3行,'$'表示最后1行)

[email protected]:~/test# sed -i '3a Nice to meet you!' test3.txt
[email protected]:~/test# cat -n test3.txt
     1    Line1
     2    
     3    I am Jianrry!
     4    Nice to meet you!
     5    Line2
     6    
     7    
     8    Line3
     9    
    10    
...


# 实例四:以行为单位的删除('3'表示第3行,'1,3'表示第1-3行,'$'表示最后1行)

[email protected]:~/test# sed -i '3d' test3.txt
[email protected]:~/test# cat -n test3.txt
     1    Line1
     2    
     3    Nice to meet you!
     4    Line2
     5    
     6    
     7    Line3
     8    
     9    
    10    Line4
...


# 实例四:以行为单位的替换('3'表示第3行,'1,3'表示第1-3行,'$'表示最后1行)

[email protected]:~/test# sed -i '3c Nice to meet you,too!' test3.txt
[email protected]:~/test# cat -n test3.txt
     1    Line1
     2    
     3    Nice to meet you,too!
     4    Line2
     5    
     6    
     7    Line3
     8    
     9    
    10    Line4
...

# 实例五:指定文本的替换
# sed '位置 s/pattern/replaced/[flag]'
# pattern为要替换的文本,支持正则表达式;replaced表示用来替换的文本,不支持正则表达式
# flag是替换标志,用来影响匹配替换的规则
# flag  用法
# g    全局匹配,会替换文本行中所有匹配的字符串
# n    替换文本行中第n个匹配的字符串
# p    替换第一个匹配的字符串,并且将缓冲区输出到标准输出
# w    替换第一个匹配的字符串,并且将改动的行输出到磁盘文件中
# 缺省    替换第一个匹配的字符串

[email protected]:~/test# sed -i 's/Line/行/g' test3.txt
[email protected]:~/test# cat -n test3.txt
     1    行1
     2    
     3    Nice to meet you,too!
     4    行2
     5    
     6    
     7    行3
     8    
     9    
    10    行4
...
最后修改:2019 年 07 月 09 日 05 : 17 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论