Linux日常之命令sed
一. 命令sed简介
利用命令sed能够同时处理多个文件多行的内容,可以不对原文件改动,仅把匹配的内容显示在屏幕上,也可以对原文件进行改动,但是不会在屏幕上返回结果,若想查看改动后的文件,可以使用命令cat等。
二. 语法格式
1. sed的命令格式:sed [options] command file
2. sed的脚本格式:sed [options] -f script file
三. options选项
1. -n,只打印模式匹配的行
2. -f,将sed的动作写在一个文件内
3. -i,直接修改文件内容
四. command命令
1. p,打印匹配行(一般与选项-n合用)
2. =,显示文件行号
3. a\,在定位行号后,添加新文本信息
4. i\,在定位行号前,插入新文本信息
5. d,删除定位行
6. c\,用新文本替换定位文本
7. w filename,写文本到一个文件,类似输出重定向
8. r filename,从另一个文件中读文本,类似输入重定向
9. s,使用替换模式替换相应模式
10. q,第一个模式匹配完成后立即退出
五. 实例
1. 仅打印出文件test.txt的第2行,则有

注意,若没有选项“-n”,则会显示整个文件,且第2行会显示两遍。所以,如果仅仅想要显示第2行,则要添加选项“-n”。
2. 若要显示文件test.txt的第2行到第5行,则有

3. 显示出带有字符串“grep”的行,则有

4. 显示出从匹配字符串“is”到匹配字符串“abc”之间的行,则有

注意,这里匹配字符串时,是按照第一次出现的行来定的。
当第二个字符串不存在时,则显示从第一个字符串到最后

5. 显示出文件test.txt中第1行到第4行的内容,同时显示出行号,则有

注意,当使用命令sed中不同的编辑命令时,用{},且不同命令之间用“;”隔开!
6. 显示除了第1行到第4行外的其它内容,则用“!”取反

7. 打印出非空行,则有

8. 删除以“this”开头的行和空行,则有

注意,命令sed支持对单个文件实现不同的操作,每个操作使用选项“-e”
9. 在匹配字符串“grep”的行首添加字符串“first”,则有

10. 将文件test.txt中的所有字符串“grep”后添加字符串“ddd”,则有

11. 在匹配字符串“grep”的行后添加一行“Hello World”,则有

12. 若在匹配字符串“grep”的行后添加两行“Hello”、“World”,则使用转义符\n

13. 在第1行到第3行的行首添加“#”,则有

14. 将文件test.txt中的字符串“grep”替换为字符串“ddd”,则有

注意,可以发现,此处替换的仅仅是定位行的第一个匹配的字符串“grep”,且是将整个文件都显示在屏幕中的,而不是仅显示匹配行。
15. 若将定位行中所有的匹配字符串“grep”都替换为字符串“ddd”,则有

16. 若要将所做改动直接写入文件test.txt中,则使用选项“-i”
例如,将文件的行首添加字符串“Start ”,则有

Linux日常之命令sed的更多相关文章
- 一个不会coding的girl Linux日常之命令awk
Linux日常之命令awk 参考:http://www.zsythink.net/archives/tag/awk/ 一. 命令awk简介 1. awk是一种编程语言,用于对文本和数据进行处理的 2. ...
- 笔记02 linux的一些命令sed
#!/bin/bash # dataformat=`date +%Y-%m-%d-%H-%M` #进行文件件cp并重命名 nginx_home=/opt/modules/nginx-1.12/ cp ...
- 10 程序员必备:Linux日常维护命令
一.服务器硬件配置 1.查看硬盘及分区情况 # fdisk -l 2.查看分区空间使用情况 可以查看各分区大小.已使用.可用.已使用百分比.挂载情况 1)默认单位为K # df 2)可读性更好的显示, ...
- Linux日常维护命令
对于程序员来说,掌握一些基本的Linux命令是必不可少的,即使现在用不到,在不久的将来也应该会用到.由于Linux有很多命令,每个命令基本可以用一篇文章介绍,所以本文仅总结一些常用命令的常用用法,如有 ...
- Linux日常之命令awk
参考:http://www.zsythink.net/archives/tag/awk/ 一. 命令awk简介 1. awk是一种编程语言,用于对文本和数据进行处理的 2. 具有强大的文本格式化能力 ...
- Linux日常使用命令
pwd 当前目录的路径ls -a 显示隐藏文件ls -l h* 显示所有以h开头的文件ls -d b* 显示所有以b开头的文件夹ls -l *.log 所有后缀是.log 的文件dir 显 ...
- Linux 日常维护命令
1 防火墙配置 1)重启后生效 开启: chkconfig iptables on 关闭: chkconfig iptables off 或者 /sbin/chkconfig --level ...
- linux日常常用命令分析
日志处理: 测试网络路由: xargs使用方法: tcpdump命令分析: dd 写入磁盘测试 cpu个数: 查看网卡流量 查看端口联通情况,临时加端口 ntpdate同步: 可以取出变动的密码: 导 ...
- Linux日常之命令sort
素材借鉴:https://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html 命令sort 是Linux中常用的排序命令,属于管道命令. 常 ...
随机推荐
- CICD - 持续集成与持续交付
持续集成与持续交付是软件开发和交付中的实践.我们项目中一直在践行持续集成(CI:Continuous Integration):持续交付(CD:Continuous Delivery)未能达到理想状态 ...
- 【7】解决:移动端点击a链接出现蓝色边框
[1]_blank : 浏览器总在一个新打开.未命名的窗口中载入目标文档. [2]title : 鼠标悬浮显示的文字. [3]href : 跳转到哪个链接. a{ border: no ...
- Jmeter(二)关联
phpwind发贴时由于随着登陆用户的改变, verifycode是动态变化的, 因此需要用到关联. LoadRunner的关联函数是reg_save_param, Jmeter的关联则是利用后置处理 ...
- pytest_1安装和启动
一.安装和启动 1.1 安装pytest 1. 键入Ctrl+R,打开cmd,输入命令至python环境下(本机:D:\Python27>) 2. 在python环境下运行下面的命令即可安装py ...
- nmon报告指标含义
nmon分析文件详细指标详解指标类型指标名称指标含义SYS_SUMMCPU%cpu占有率变化情况:IO/secIO的变化情况:AAAAIXAIX版本号:buildbuild版本号:command执行命 ...
- 戴尔服务器IDRAC命令配置IP地址
在工作中我们可能会遇到,在配置管理卡的时候,由于疏忽,把网关配置错误(但是你肯定的是IP没有错),导致不能正常连接管理卡,这是有两个办法,第一:你去机房,进行查看进行修改,第二:你登陆交换机,从交换机 ...
- nginx查看并发数量
cat >> /etc/nginx/conf.d/status.conf << EOF server{ listen ; server_name www.test2.com; ...
- java:Oracle(事务,分页,jdbc)Mysql(jdbc)
1.事务:transaction -- 事务开启的唯一条件就是:对数据库进行增,删,改的时候 -- 换句话说,对数据进行增删改以后,必须要执行提交或者回滚 -- 事务就是把数据库中的数据从一致状态转换 ...
- Smartform给文本绑定值
点击字段显示器, 然后把字段拖过去即可
- Redis 入门 3.3 散列类型
3.3.1 介绍 散列类型(hash)的键值也是一种字典结构,其储存了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他数据类型,换句话说,散列类型不能嵌套其他的数据类型.一个散列 ...