9.4/9.5 sed

一,打印某行

sed命令的格式为:sed -n 'n'p filename ,单引号内的n是一个数字,可以使用命令sed -n '1,$'p filename ,如下

去掉-n是有差异

要想把所有行打印出来,可以使用命令sed -n '1,$'p filename

#sed -n '1,$'p 文件名

另外,我们也可以指定一个区间打印,

#sed -n '1,3'p 文件名

二,打印包含某个字符串的行

这种用法类似于grep,在grep中使用特殊字符(如^,$, . , * 等)同样也能在sed中使用,如下

#sed -n '/^1/'p test.txt

#sed -n '/in$/'p test.txt

#sed -n '/r..o/'p test.txt

#sed -n '/ooo*/'p test.txt

sed命令加上-e选项可以实现多个行为,如下

#sed -e '1'p -e '/111/'p -n test.txt

三,删除某些行

示例命令如下:

#sed '1'd test.txt

#sed '1,3'd test.txt

#sed '/oot/'d test.txt

四,替换字符或者字符串

#sed '1,2s/ot/to/g' test.txt

上例中的参数s就表示替换的动作,参数g表示本行全局替换,如果不加g则替换本行出现的第一个,这个用法其实和vim的替换大同小异。

除了可以使用/作为分隔符外,我们还可以使用其他特殊字符,例如#和@。如下:

#sed 's#ot#to#g' test.txt

#sed 's@ot@to@g' test.txt

如何删除文档中所有的数字或者字母,示例命令如下

#sed 's/[0-9]//g' test,txt

[0-9]表示任意的数字。这里你也可以写成[a-zA-Z]或者[0-9a-zA-Z]

#sed 's/[a-zA-Z]//g' test.txt

五,调换两个字符串的位置

#sed 's/\(rot\)\(.*\)\(bash\)/\3\2\1' test.txt

小括号内的sed中属于特殊符号,必须在前面加转义字符\,替换时则写成类似\1,\2或\3的形式。上例中用()把想要替换的字符打包成了一个整体。有这个转义字符\,会让这个表达式看起来乱糟糟的,有个方法可以省略它

#sed -r 's/(rot) (.*)(bash)/\3\2\1/' test.txt

这个-r选项让这个表达式更加清晰了。除了调换两个字符串的位置,还常用sed在某一行前后增加指定内容。如下

#sed 's/^.*$/123$/123&/' test.txt

六,直接修改文件内容

#sed -i 's/ot/to/g' test.txt

这样就可以直接更改test.txt文件的内容了,但必须注意,在修改前最好先备份一下文件,一面改错。

linux test数字txt,Linux26期 7月4日预习笔记相关推荐

  1. Linux26期 7月13日任务

    7月13日任务 10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 扩展 1. iptables应用在一个网段 http://www. ...

  2. Linux26期 6月21日

    5.5 进入编辑模式 5.6 vim命令模式 5.7 vim实践 扩展 vim的特殊用法 http://www.apelearn.com/bbs/thread-9334-1-1.html vim常用快 ...

  3. linux中20个高级命令 8月26日学习笔记

    linux中20个高级命令 文章目录 linux中20个高级命令 1.ifconfig命令 1.1 检查所有网络接口 1.2 禁用网卡 1.3 启用网卡 1.4为网卡分配 IP 地址 1.5 更改网卡 ...

  4. 8月2日Pytorch笔记——梯度、全连接层、GPU加速、Visdom

    文章目录 前言 一.常见函数的梯度 二.激活函数及其梯度 1.Sigmoid 2.Tanh 3.ReLU 三.Loss 函数及其梯度 1.Mean Squared Error(MSE) 2.Softm ...

  5. linux五周第三次课(3月7日)笔记

    五周第三次课(3月7日) 8.1 shell介绍 8.2 命令历史 8.3 命令补全和别名 8.4 通配符 8.5 输入输出重定向 搜索看一下有没有这两个shell,不安装. 8.2 命令历史 用过的 ...

  6. Linux 内核 5.4 将于 11月24 日 发布,Linux 5.4-rc8 已可用于公测

    Linux 内核5.4 将计划于2019年11月24日发布.而在上周末,Linus Torvalds则宣布了最后一个发布候选版本(RC). Linus Torvalds在邮件列表公告中表示," ...

  7. 喊你参赛!2021 CCF BDCI 数字安全公开赛,8月23日火热来袭!

    快来一起打比赛! [CCF BDCI 数字安全公开赛] 2021-08-23 即将火热开赛! 超炫玩法,超高奖金! 还有可能获得行业顶流公司 招聘绿色通道! 更有荣誉奖牌和 30万现金奖励等你来拿! ...

  8. j1900电脑装linux,一周第一次课(10月16日)安装linux

    学习之初: 学习课程的目的什么  (提升自己拿高薪) 学习完课程做什么职位(系统运维) 学习完课程在哪个城市发展(郑州) 1给自己设定目标: 何时学完:(10月16日到2月16日) 何时跳槽 第一份薪 ...

  9. 一站式数字资产管理平台HashKey Hub3月18日14时开放下载,将支持Cosmos通证ATOM

    点击上方 "蓝色字" 可关注我们! 编辑:铅笔盒 近日,一站式数字资产管理平台HashKey Hub宣布将于3月18日下午14时开放下载,并将支持Atom.在Cosmos通证Ato ...

最新文章

  1. maven项目找不到pom.xml配置的dependency jar中的类问题解决方法
  2. Mac VirtualBox 命令行Centos 调整窗口大小
  3. 分布式系统架构知识储备
  4. asp.net中关于点击页面一个控件,弹出框的制作
  5. mysql dump hbase_mysqldump导出全数据库
  6. HDU1114 Piggy-Bank 完全背包
  7. 从富文本中截取图片_JS 获取富文本中的第一张图片 (正则表达式)
  8. 没有人愿意把自己放在被动的位置,一切皆是有原因的
  9. lua运算与php运算符,Lua 运算符
  10. Python语法基础——关于全局变量与局部变量
  11. java byte与char互转原理
  12. Tableau Desktop 安装与破解
  13. idea 字体颜色设置 + 背景图片
  14. Matlab数组及多项式运算
  15. python断言语句失败_python断言语句
  16. 软体机器人空间感知技术综述
  17. 基于JAVA校园快递代领系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  18. leetcode884. 两句话中的不常见单词(你肯定会被惊呆了)
  19. mysql 数据表格切分_MySQL数据库垂直和水平切分
  20. python练习_邮件定时收取处理附件后发送结果

热门文章

  1. UE4创建第一人称射击游戏学习教程
  2. Blender未来科幻武器全流程制作视频教程
  3. 读书:历史 -- 海上丝绸之路
  4. Django-C002-深入模型,到底有多深
  5. P1132 数字生成游戏
  6. 【MongoDB学习之一】初始MongoDB
  7. 对XX证券报关于物联网操作系统的几个问题的答复
  8. jquery 实现表单验证功能代码(简洁)
  9. C++各大有名库的介绍之C++标准库
  10. Linux驱动程序编写