sed 操作命令
sed介绍
grep 只能过滤文件内容,sed既能过滤文件内容同时还能对文件内容进行修改. sed 算是一种编程语言,它有自己的固定语法.
sed是一种行编辑器,sed会在内存中开辟一块独立的空间(模式空间),每次读取磁盘文件中的一行调入内存空间并且默认自动打印到屏幕
sed基本语法
1. sed [option] 'script' file
script : "地址命令addresscmd"
cmd: p d a i c w r =
sed命令实例
1.sed -n '/^root/p' /etc/passwd

2. sed -n '/^root\>/p' /etc/passwd

3. sed -n "1~3p" f1
4. sed -n '2!p" f1
5. sed -r 's/(root)/admin\1/g' /etc/passwd
6. sed -r 's/(.*)/\1edu/' /etc/passwd
7. sed -r 's/(.*)/edu\1/' /etc/passwd
8. sed -r 's*/(bin/bash)$*/s\1*' /etc/passwd
9.sed -r '/GRUB_CMDLINE_LINUX/s/(.*)"$/\1 XYZ"/' /etc/default/grub 或者 sed -r '/GRUB_CMDLINE_LINUX/s/"$/ xyz"/' /etc/default/grub
10.使用正则表达式表示整行字符同时分割并且取到相应的字符串
正则表达式 (.*inet)(.*)(netmask.*)表示包含ip地址的整行字符串

把整行字符串分组分割成三个部分.可以取到任意分组中的字符串.

11.删除单行注释符号 找到符号用空来替代
sed '/^#NameVirtualHost/s/#//' /etc/httpd/conf/httpd.conf
12.删除多行的注释符号
sed '/^#VirtualHost/,/^<\/VirtualHost/s/#//' /etc/httpd/conf/httpd.conf
/^#VirtualHost/ 匹配到的开始行
/^<\/VirtualHost/ 匹配到的结束行
对开始行和结束行中的所有行进行操作
13. echo "/etc/sysconfig/network/" | sed -r 's/(.*\/)([^/]+\/?)/\2/'
echo "/etc/sysconfig/network/" | sed -r 's/(.*\/)([^/]+\/?)/\1/'

sed的高级语法
sed 命令包含两个操作空间
1. 模式空间 默认只能包含一行的文本内容 相当于正在处理数据的空间
2. 保持空间 相当于一个小仓库,用来存储暂时在模式空间中没有处理完成的数据.
[root@centos7 boot]# seq 10 | sed -n 'n;p'
2
4
6
8
10
sed '1!G;h;$!d' file '1!G; h; $!d' 相当于通过;号把这个命令分成了3个脚本.sed读取文件的每一行文本内容依次执行这三个脚本命令.
sed 'N;D' file
[root@centos7 boot]# seq 5 | tac
5
4
3
2
1
倒序内容命令
1. ls *.rpm | rev | cut -d -f2 | rev | sort | uniq -c
tac 把整个文件的行倒叙显示
rev 按每行字符内容倒叙显示
[root@centos7 ~]# seq 10 | xargs -n2
1 2
3 4
5 6
7 8
9 10
sed 操作命令的更多相关文章
- linux的sed命令(一)
转自:https://www.cnblogs.com/ginvip/p/6376049.html Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务 ...
- linux命令总结sed命令详解
Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务.sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令.指定文件名,然后在屏幕上查 ...
- linux 三大利器 grep sed awk sed
sed主要内容和原理介绍 sed 流处理编辑器 sed一次处理一行内容,读入一行处理一行 sed不改变文件内容(除非重定向) sed 命令行格式 $ sed [options] 'command' f ...
- linux---(6/27)tr命令和sed命令详解
Tr命令: tr是简单的单个“字符”处理工具,而sed是功能非常强大的“字符串”处理工具. 用于查询,字符串2用于处理各种转换.tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始 ...
- sed命令用法
Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务.sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编辑命令.指定文件名,然后在屏幕上查 ...
- sed 流编辑命令
1.命令功能 sed非交互式的流编辑器,sed不会修改源文件内容,除非重定向来保存输出结果:默认情况下所有的输出行都将被打印到屏幕上. 2.语法格式 sed [option] {script-on ...
- sed命令入门
什么是sed sed是一种流处理编辑器,可以分割.查找.替换文本. sed命令的处理流程:行处理 Created with Raphaël 2.1.0在shell中执行sed文本或管道输入读入到模式空 ...
- linux sed命令(擅长输出行)(转)
linux命令总结sed命令详解 Sed 简介 sed 是一种新型的,非交互式的编辑器.它能执行与编辑器 vi 和 ex 相同的编辑任务.sed 编辑器没有提供交互式使用方式,使用者只能在命令行输入编 ...
- 【三剑客】sed命令
1. Sed 简介 sed 是Stream Editor(流编辑器)的缩写,是操作.过滤和转换文本内容的强大工具.常用功能有增删改查,过滤,取行. sed 是一种新型的,非交互式的编辑器. 它能执 ...
随机推荐
- [Algorithm] Warm-up puzzles
闲下来后,需要讲最近涉及到的算法全部整理一下,有个indice,方便记忆宫殿的查找 MIT的算法课,地球上最好:https://ocw.mit.edu/courses/electrical-engin ...
- 5. RAMN备份与恢复
一. rman简介 RMAN(Recovery Manager)是一种用于备份(backup).还原(restore)和恢复(recover)数据库的 Oracle 工具.RMAN只能用于ORACLE ...
- cocos2d-x游戏引擎核心(3.x)----事件分发机制之事件从(android,ios,desktop)系统传到cocos2dx的过程浅析
(一) Android平台下: cocos2dx 版本3.2,先导入一个android工程,然后看下AndroidManifest.xml <application android:label= ...
- spring框架排错
1.格式错误. http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/sp ...
- java中常用的加密方式
加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容.大体上分为双向加密和单向加密,而双向加密又分为对称加密和非对称加密(有些 ...
- 好用的 Chrome 插件,提升你的学习工作效率
Google Chrome 应该是大部分人都用的一款浏览器,但却有很少人会注意到它丰富的扩展插件,擅于使用这些插件,能让自己的工作效率大大提高,今天趁着周末休息,就不谈技术伤大家的脑细胞了,给大家分享 ...
- Jenkins设置备份
安装备份插件,系统管理-插件管理 可选插件搜索backup 备份 系统管理-Backup manager 设置备份路径 恢复
- MSSQL 将大表改成已分区表
--select * from sys.partition_functions --select * from sys.partition_range_values use [UpdateLog] g ...
- easyui treegrid 动态展开数据(暂记)
ClassifyAdminSynMsgSvr.GetCLFLList("<%=CurUTag %>", 1, "", function (ret) ...
- Sql Server :SELECT a.*,b.HZXM FROM YG_LIS_JCBYTK a(nolock)中的NOLOCK作用
转自 http://blog.csdn.net/xingxing1828/article/details/34850771 先说下其区别,之后再做测试. 大家都知道,每新建一个查询,都相当于创建一个会 ...