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
输出含a或yy的行
# sed -n '/a|yy/p' test
========================
显示行号
显示3-5行行号及内容
# sed -n '3,5{p;=}' test | xargs -n2 ####‘=’显示行号####
===========================
多行追加
在第二行上面追加两行文本
sed '2a 1234\n2345' 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 \0 \1\2#' | bash
seq命令
格式:seq 起始值 公差 结束值