sed工具 介绍

sed工具
地址定界
不给地址:对全文进行处理
单地址:
#:指定行
/pattern/:被此处模式所能够匹配到的每一行
地址范围:
#,#
#,+#
/pat1/,/pat2/
#,/pat1/
~:步进
1~2 奇树行
2~2 偶数行
cat -n passwd >passwd2 新建文件
sep -n ‘/^h//^s/’ passwd
sep 10
sep 10| sed ‘1~2p’
sep 10 |sed -n ‘1~2p
cat passwd2 |sed -n ‘2~2p’
sed工具
编辑命令
d:删除模式空间匹配的行
p:显示模式空间的内容
a [\]texe:在指定行后面追加文本
支持使用\n实现多行追加
i[\]text:在行前面插入文本
c[\]text:替换行为单行或多行文本
w /path/somefile:保存模式匹配的行至指定文件
r /path/somefile:读取指定文件的文本至模式空间中匹配到的行后
=:为模式空间中的行打印行号
!:模式空间中匹配行取反处理
奇数行
sep 10 |sed -n ‘1~2p’
sep 10 |sed ‘2~2d’
sep 10 |sed -n ‘2~2!p’
sed工具
s///:查找替换,支持使用其它分隔符,s@@@,s###
替换标记:
g:行内全局替换
p:显示替换成功的行
w /PATH/TO/SOMEFILE: j将替换成功的行保存至文件中
sed示例
sed ‘2p’ /etc/passwd 打印第二行 别的行业打印
sed -n ‘2p’ /etc/passwd 只打印第二行
sed -n ‘1,4p’ /etc/passwd 打印一到四行
sed -n ‘/root/p’ /etc/passwd 包含root打印
sed -n ‘2,/root/p’ /etc/passwd 从2行开始 第一行开始
sed -n ‘/^$/=’ file 显示空行行号
sed -n -e ‘/^$/p’ -e ‘/^$/=’ file 打印本身 打印行号
sed ‘/root/a\superman’ /etc/passwd 行后
sed ‘/root/i\superman’ /etc/passwd 行前
sed ‘/root/c\superman’ /etc/passwd 代替行
取ID
ifconfig etho | sed -e ‘s/.*inet addr://’ -e ‘s/ B.*//’ -n -e 2p
搜索替代
ifconfig etho |sed -n 2p|sed -e ‘s/.*r://’ -e ‘s/ B.*//’
取基名
echo /etc/sysconfig/network-scripts/ |sed -r ‘s@(^/.*/)([^/]+/?)@\2@’
取目录名
echo /etc/sysconfig/network-scripts/ |sed -r ‘s@(^/.*/)([^/]+/?)1@\1@’
对/etc/fstab非#开头的加注释
sed -r ‘s/(^[^])/#\1/’ etc/fstab
sed -r ‘s/^[^#]/#&/’ /etc/fstab
sed工具
高级编辑命令:
h:把模式空间的内容覆盖至保持空间中
H:把模式空间中的内容追加至保持空间中
g:从保持空间取出数据覆盖至模式空间
G:从保持空间取出内容追加至模式空间
x:吧模式空间中的内容与保持空间中的内容进行互换
n:读取匹配到的行的下一行覆盖至模式空间
N:读取匹配到的行的下一行追加至模式空间
d:删除模式空间中读的行
D:删除当前模式空间开端至\n的内容(不再传至标准输出),放弃之后的命令,但是对剩余模式空间重新执行sed
sed示例
sed -n ‘n:p’ FILE
sed ‘1!G:h:$!d’ FILE
sed ‘$!N”$!D’ FILE
sed ‘$!d’ FILE
sed ‘G’ FILE
sed ‘g’ FILE
sed ‘/^$/D:’ FILE
sed ‘n:d’ FILE
SED -N ‘1!g:H:$P’ FILE
偶数行
seq 10|sed -n ‘n:p’
倒序
seq 10 |sed ‘!!G:h:$!d’
只保留最后两行
seq 10|sed ‘$!N:$!d’

原创文章,作者:wangqiang,如若转载,请注明出处:http://www.178linux.com/77282

(0)
wangqiangwangqiang
上一篇 2017-05-31 21:00
下一篇 2017-05-31 22:54

相关推荐

  • bash中的算术运算及条件测试

    bash的算术运算 +, -, *, /, %取模(取余), **(乘方) 实现算术运算: (1) let var=算术表达式 (2) var=$[算术表达式] (3) var=$((算术表达式)) (4) var=$(expr arg1 arg2 arg3 …) (5) declare –i var = 数值 (6) echo ‘算术表达式’ …

    Linux干货 2017-04-17
  • Linux基础知识之IO重定向

    该博文以CentOS6.8_x86_64系统为基础,Xshell 5远程连接CentOS系统,以root身份登录系统。  什么是I/O重定向?       所谓I/O重定向简单来说就是一个过程,这个过程捕捉一个文件,或者命令,程序,脚本,甚至脚本中的代码块(codeblock)的输出,然后把捕捉到的输出,作为输入发送给…

    Linux干货 2016-07-26
  • centos 6 配置bind

    BIND BIND(Berkeley Internet Name Daemon)是现今互联网上最常使用的DNS服务器软件,使用BIND作为服务器软件的DNS服务器约占所有DNS服务器的九成[。BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。 DNS是什么 DNS(Domain…

    Linux干货 2016-12-19
  • N25第1周作业

    1.计算机的组成及功能 地址:博客园http://www.cnblogs.com/qingyangzi/p/6133274.html 2.linux主要的发行版及其区别和联系 地址:博客园http://www.cnblogs.com/qingyangzi/p/6135801.html 3.linux哲学思想 地址:博客园http://www.cnblogs.…

    Linux干货 2016-12-05
  • linux基础

    1.计算机的组成及其功能。 计算机的主要组成部分可以归纳为以下五个部分:控制器、运算器、存储器、输入设备、和输出设备。 控制器 是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。 运算器 运算器的功能是对数据进行各种算术运算…

    Linux干货 2016-08-15
  • Liunx学习小结2

    1. Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。文件管理类命令有:cp、mv、rmcp [选项] [参数]选项:-a:此参数的效果和同时指定”-dpR”参数相同;-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;-f:强行复制文件或目录,不论目标文件或目录…

    Linux干货 2017-07-31