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 是一种新型的,非交互式的编辑器. 它能执 ...
随机推荐
- [Bayes] Metroplis Algorithm --> Gibbs Sampling
重要的是Gibbs的思想. 全概率分布,可以唯一地确定一个联合分布 ---- Hammersley-Clifford 多元高斯分布 当然,这个有点复杂,考虑个简单的,二元高斯,那么超参数就是: 二元高 ...
- SpringBoot-服务端参数验证-JSR-303验证框架
1. springboot 默认集成了 hibernate-validator,它默认是生效的,可以直接使用. 比如: @RestController @RequestMapping("/h ...
- 8 -- 深入使用Spring -- 6...1 Spring支持的事务策略
8.6.1 Spring支持的事务策略 JTA.JDBC.Hibernate Java EE应用的传统事务有两种策略:全局事务和局部事务.全局事务由应用服务器管理,需要底层服务器的JTA(Java T ...
- vue图片放大镜效果
原作者地址:https://github.com/lemontree2000/vue-magnify 经测试,原插件在使用时有bug,即在预览时进行鼠标滚动,导致遮罩层计算错误.我已修复该bug,特分 ...
- [Android] 基于 Linux 命令行构建 Android 应用(一):关于 Android 项目
关于 Android 项目 项目是保存源代码和资源文件的容器. 谷歌提供的 Android SDK 工具只能对具有固定目录结构的项目进行编译和打包.因此强烈建议使用 Eclipse + ADT 或者 ...
- Mysql之一二
1.limit用来限制select语句返回指定的记录数,可以接受一个或者两个数字参数.如果参数为一个,是返回的数据条数:如果给定参数为两个,第一个参数为指定第一个返回记录行的偏移量(初识记录行的偏移量 ...
- 【netcore入坑记】 .Net core UseRowNumberForPaging 分页报错 SQL Server 2008 R2 EntityFrameworkCore
异常环境: netcore版本:.Net Core 2.1 efcore版本:Microsoft.EntityFrameworkCore.SqlServer 2.1.1 sql sqlserver 版 ...
- [原]Jenkins(二)---jenkins之Git+maven+jdk+tomcat
/** * lihaibo * 文章内容都是根据自己工作情况实践得出. *版权声明:本博客欢迎转发,但请保留原作者信息! http://www.cnblogs.com/horizonli/p/5331 ...
- .NET Core开发日志——Linux版本的SQL Server
SQL Server 2017版本已经可以在Linux系统上安装,但我在尝试.NET Core跨平台开发的时候使用的是Mac系统,所以这里记录了在Mac上安装SQL Server的过程. 最新的SQL ...
- 用工厂模式解决ASP.NET Core中依赖注入的一个烦恼
这是最近在实际开发中遇到的一个问题,用 asp.net core 开发一个后端 web api ,根据指定的 key 清除 2 台 memcached 服务器上的缓存.背景是我们在进行 .net co ...