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 是一种新型的,非交互式的编辑器. 它能执 ...
随机推荐
- SQL Server -- 随笔
-- 判断是否存在 LimeNextMonthBirthday 表 ) PRINT '存在' ELSE PRINT'不存在' -- 如果存在 则删除 没有 则打印 不存在 ) DROP TABLE L ...
- android 网络图片双缓存
本文转自:http://blog.csdn.net/a79412906/article/details/10180583 Android每次加载图片很浪费时间.所以设计了一个图片缓存技术来解决每次an ...
- 浅谈JAVA中HashMap、ArrayList、StringBuilder等的扩容机制
JAVA中的部分需要扩容的内容总结如下:第一部分: HashMap<String, String> hmap=new HashMap<>(); HashSet<Strin ...
- elastaicsearch基础----->elastaicsearch的使用(一)
这里面我们总结一下es的一些基础使用. es的基础用法 一.es索引的创建 在postman中,请求url地址:192.168.1.112:9200/user.请求方式:PUT.请求内容如下: { & ...
- C# Hashtable
哈希表(Hashtable) 在.NET Framework中,Hashtable 是 System.Collections 命名空间提供的一个容器,用于处理和表现类似 key-value 的键值对, ...
- 【CF582E】Boolean Function 树形DP+FWT
[CF582E]Boolean Function 题意:给你一个长度为n的表达式,其中未知数有A,B,C,D和?,运算有&和|和?(表达式中用括号确定了唯一的运算顺序).?代表A,B,C,D或 ...
- Error creating bean with name 'eurekaAutoServiceRegistration'
spring-boot项目不断重启,报错: org.springframework.beans.factory.BeanCreationNotAllowedException: Error creat ...
- 树剖+线段树||树链剖分||BZOJ2238||Mst
题面:https://www.lydsy.com/JudgeOnline/problem.php?id=2238 思路:先求个最小生成树,然后就对最小生成树上的边做树剖,依次对非树边进行处理,维护非树 ...
- php实现简单消息发送+极光推送系统
前几天刚写完的一个东西,写的比较简单,没有使用其他插件,原生php+计划任务实现 极光推送的代码 /* $receiver="registration_id" : [ " ...
- [No0000F3]C# 结构(Struct)
在 C# 中,结构是值类型数据结构.它使得一个单一变量可以存储各种数据类型的相关数据.struct关键字用于创建结构. 结构是用来代表一个记录.假设您想跟踪图书馆中书的动态.您可能想跟踪每本书的以下属 ...