Linux系统——sed命令

Posted daisy118

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统——sed命令相关的知识,希望对你有一定的参考价值。

sed命令精讲

 cat工作原理

cat命令只想文件,把文件打开后,将文件中所有内容一次性读到内存中,从内存里一次性输出到屏幕上,此时可能存在内存装不下的情况,因此cat命令只能查看小文件内容,不能读取大文件,对于大文件来说是“禁用”的。

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

sed命令=====增删改查

在第5行上面增加一行

# sed ‘5i xxxxxx‘ test

在第5行下面增加一行

# sed ‘5a xxxxx‘ test

在第5行行首增加xxxxxxxx

# sed ‘5s#^#xxxxxxxxxx#‘ test

在第5行行尾增加xxxxxxxx

# sed ‘5s#$#xxxxxxxxx#‘ test

多行行首增加xxxxxx

# sed ‘5,10s#^#xxxxxxxx#‘ test

多行行尾增加xxxxxxx

# sed ‘5,$s#$#xxxxxxxx#‘ test

删除全部行

# sed ‘d‘ test

删除第二行

# sed ‘2d‘ test

删除最后一行

# sed ‘$d‘ test

删除第2-5

# sed ‘2,5d‘ test

删除第2行和第5

# sed ‘2d;5d‘ test

替换

a替换为b(只替换一次)

# sed ‘s#a#b#‘ test

a全部替换为b

# sed ‘s#a#b#g‘ test

在源文件,将a全部替换为b

# sed -i ‘s#a#b#g‘ test

在源文件,将a全部替换为b,并对源文件进行备份

# sed -i.bak ‘s#a#b#g‘ test

查找

全部不输出

# sed -n ‘‘ test

只输出x字符

# sed -n ‘/x /‘ test

输出20-30行内容

# sed -n ‘20,30p‘ test

输出第20行和第30

# sed -n ‘20p;30p‘ test

输出最后一行

# sed -n ‘$p‘ test

输出第2行到含a的行

# sed -n ‘2,/a/p‘ test

输出含a的行到含b的行

# sed -n ‘/a/,/b/p‘ test

输出含ayy的行

# sed -n ‘/a|yy/p‘ test

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

显示行号

显示3-5行行号及内容

# sed -n ‘3,5{p;=}‘ test | xargs -n2    ####=’显示行号####

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

多行追加

在第二行上面追加两行文本

sed ‘2a 1234 2345‘ test

 

sed的反向引用

 

sed命令抓ip地址

# ifconfig eth0 | sed -n ‘2p‘ | sed-r  ‘s#.*addr:(.*)Bcast.*#1#‘

 

***********查看程序开机自启动 chkconfig命令**************

五个服务必须开启

network 网络服务

crond  定时任务

sshd 远程连接服务

sysstat 系统工具包

rsyslog 日志服务

**************************************************************

批量关闭3模式下的开机自启动

# chkconfig | grep -v "sshd|crond|network|sysstat|rsyslog" | grep "3:on" | sed -r ‘s#(.*)0:.*#chkconfig 1 off#‘ | bash

 

批量命名文件

# find -type f -name "*_finished.jpg" | sed -r ‘s#^(.*)_finished(.*)#mv 12#‘ | bash

 

seq命令

格式:seq 起始值 公差 结束值

 

以上是关于Linux系统——sed命令的主要内容,如果未能解决你的问题,请参考以下文章

linux系统中sed命令替换指定的行

2018-3-27Linux系统管理(15)sed命令

linux系统删除特定的行(sed命令)

linux里面的sed命令怎么用,做啥的?请详细说明

Linux系统中sed命令在文件的用法

Linux别名配置和系统优化