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 是一种新型的,非交互式的编辑器. 它能执 ...
随机推荐
- MTK 修改默认时区
首先介绍应用程序修改 : AlarmManager mAlarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); mA ...
- Python实现Linux命令xxd -i功能
目录 Python实现Linux命令xxd -i功能 声明 一. Linux xxd -i功能 二. xxd -i常见用途 三. 类xxd -i功能的Python实现 Python实现Linux命令x ...
- Unity3D 优化NGUI纹理
原理就是将一张rgba 32的分成两张纹理:一张平台压缩不带alpha和一张为原图1/4大小的压缩图存储alpha信息(用r分量当alpha值),然后修改原材质的Shader传入这两张纹理. 代码如下 ...
- D - Lake Counting
Due to recent rains, water has pooled in various places in Farmer John's field, which is represented ...
- 如何设置Mac电脑的DNS
这两天我的Mac不能上网了,虽然正常连接了internet,但是网页.App Store.以及各种应用都无法连接到网络. 这是什么问题呢? 于是,我就寻着下面的方法对我的Mac进行了体检: 首先找到右 ...
- Dapper的数据库连接管理(打开、关闭)
Dapper对于数据库连接的管理:如果已经打开,它会关闭连接.如果你只是做一个快速查询-让Dopter自己处理它. 如果你做了很多事情,你应该自己打开连接,并在最后关闭连接,所有的查询在中…只是从效率 ...
- Mac开发博客摘录
https://blog.csdn.net/wangyouxiang/article/details/17855255 https://www.cocoacontrols.com/controls?p ...
- [daily][archlinux][game] 几个linux下还不错的游戏
春节在家放松, 装了几个游戏在archlinux上,玩起来还不错. 假期结束开工了, 玩的时间也会比较少,准备删掉, 记录如下: 1. 0ad 即时战略类, 类似于冷兵器时代的红警. 画面还不错, 可 ...
- [adminstrative][CentOS] CentOS 7 常用操作笔记
CentOS从6换到7, 还没有系统的学习.虽然主要用的是systemd,但还是有一下特有的区别,会逐步整理如下: 官网文档索引:https://access.redhat.com/documenta ...
- AFN拿不到cookie,无法存储cookie
跟雅思的项目对比,发现 task.currentRequest.allHTTPHeaderFields 这样不能拿到cookie 应该这样取: NSHTTPURLResponse *response ...