linux中sed命令详解(谈一谈Linux三剑客sed命令篇二)

浅谈Linux三剑客中的sed命令之篇二

相关理论概述请参考如下篇一:

浅谈Linux三剑客中的sed命令之篇一

补充一下格式及常用参数:

1、

语法格式:

(1) 、

Sed [选项] 编辑命令 文件

(2) 、

Shell 命令 | sed [选项] 编辑命令

2、

常用选项

-n:只显示匹配处理的行

-e:执行多个编辑命令(一般使用;代替)

-i:直接在文件中进行修改,不输出到屏幕

-r:支持扩展正则表达式

-f:从脚本文件中读取内容并执行文件中的编辑命令。

补充:这里比较常用的-n -r -e(用;代替)

3、

常用编辑命令

p:打印匹配行

d:删除匹配行

案例2:

r:从另一个文件中读文本,类似输入重定向(<)

//创建一个test.txt文件

echo "hello read" > test.txt

//将test.txt文件内容追加到demo.txt的第三行,使用行号

sed '3r test.txt' demo.txt

linux中sed命令详解(谈一谈Linux三剑客sed命令篇二)(1)

使用正则表达式

//匹配到good行后追加

sed '/good/r test.txt' demo.txt

linux中sed命令详解(谈一谈Linux三剑客sed命令篇二)(2)

案例3:

w:写文本到一个文件,类似输出重定向(>)

//将脚本demo_1.sh中非#开头的行写入write.txt文件

//注意:如无wirte.txt文件会自动创建,如有会覆盖原有内容

sed -n '/^#/!w write.txt' demo_1.sh

linux中sed命令详解(谈一谈Linux三剑客sed命令篇二)(3)

案例4:

s:使用替换模式替换相应模式

使用频率还是比较高的

格式:

sed -n [行号or模式 ]s /匹配的字符/替换字符/[替换标记]

注意:这里的匹配的字符可以用正则表达式

常用替换标记:

数字:表示替换每行的第几个

g:全局替换,ng表示第n个开始

p:显示被执行替换操作的行,和-n配合使用

w:将执行替换操作的行输出到指定文件

测试1:

//将每行中的bash替换成nologin

sed -n 's/bash/nologin/p' /etc/passwd

linux中sed命令详解(谈一谈Linux三剑客sed命令篇二)(4)

//将以odysee开头(正则)的行中的bash替换为nologin,增加过滤条件

sed -n '/^odysee/s/bash/nologin/p' /etc/passwd

linux中sed命令详解(谈一谈Linux三剑客sed命令篇二)(5)

连同篇一都是一些Sed的基本用法,下篇会整理一些sed的特殊用法

欢迎大家给予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页