Linux之sed命令
sed 处理编辑文本文件
sed 默认输出所有
sed ‘’ 文件名 默认输出文件内所有内容
sed -n -n参数默认不输出
sed -n ‘6.9p’ test 查看输出6-9行
sed ‘5d’ test d对sed来说是阻止输出
sed ‘3,5d’ test 阻止3-5行的输出
sed ‘行号#旧数据#新数据#改几次’ 文件名 s代表修改,g代表有多少修改多少
sed -i 对文本进行修改
sed进阶操作
查
sed ‘’ 文件名 输出所有
sed -n ‘’ 文件名 不输出
sed -n ‘行数p’ 文件名 输出第几行
sed -n ‘行数,行数p’ 文件名 输出几行到几行
sed -n ‘行数p;行数p’ 文件名 输出几行和几行
增
sed ‘行数i 数据’ 文件名 在第几行上边插入数据
sed ‘行数a 数据’ 文件名 在第几行下边插入数据
sed ‘s#原数据#新数据#g’ 文件名
删
sed ‘行数d’ 文件名
快速匹配IP地址
ifconfig eth0 | sed -n '2p' | sed 's#.*addr:##' | sed 's#Bcast.*##'
ifconfig eth0 | sed -n '2p' | sed -r 's#.*addr:(.*) Bcast:.*#\1#'
开启开机必须开启服务
chkconfig | grep "3:on" | egrep -v "network|sysstat|sshd|rsyslog|crond" | sed -r 's#(.*)0:.*#chkconfig \1 off#' | bash
批量更改文件名
find . -name "*_finished.jpg" | sed -r 's#(.*)_finished(.*)#mv \0 \1\2#' | bash