当前位置: 首页 > news >正文

sed使用

概述

Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

语法

sed [-hnV][-e<script>][-f<script文件>][文本文件]

注意:-e是可以省略掉的,如果要省略的话,就需要将后面要执行的脚本放在引号里面。

参数说明

  • -e

动作说明

  • a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
  • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
  • d :删除,因为是删除啊,所以 d 后面通常不接任何东东;
  • i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
  • p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
  • s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正则表达式!例如 1,20s/old/new/g 就是啦!

示例

  • 在test文件第四行之后添加alibaba输出
sed -e 4a\alibaba test
或者
sed '4a\alibaba' test 

注意:反斜杠可以用空格代替

  • 删除第三行到最后一行
nl testfile | sed '3,$d' 
  • 在第二行前加上alibaba
nl test | sed '2i alibaab'
  • 增加两行字,则需要使用反斜杠
nl test | sed '2a alibaba \
alibaba'
  • 将2-3行进行替换
nl test | sed '2,3c alibaba\
> alibaba'
  • 只打印1-3行
nl test | sed -n '1,3p'
  • 只打印含有kj的
nl test | sed -n '/kj/p'
  • 只打印不含有kj的
nl test | sed '/kj/d'
  • 找到kj对应的行,然后进行字符替换并输出
nl test | sed -n '/kj/{s/kj/alibaba/;p}'
  • 进行全局替换,不再对行进行处理

g 标识符表示全局查找替换,使 sed 对文件中所有符合的字符串都被替换,修改后内容会到标准输出,不会修改原文件

nl test | sed 's/dk/alibaba/g'
  • 选项i对文件进行修改,将所有的df替换成al
sed -i 's/df/ali/g' test
  • 显示bond0的ip地址
ifconfig bond0 | grep inet | sed 's/^.*inet//' | sed 's/netmas.*$//g'

这里的.*表示任意字符串开头,任意字符串结尾的数字,不加表示任意字符串开头,任意字符串结尾的数字,不加表示任意字符串开头,任意字符串结尾的数字,不加也是可以的
而^.*表示的是任意字符串开头的字符串,这样就把前面和后面都去掉了。

  • 多点编辑

多点编辑的时候就不能省略 -e选项了

nl test | sed -e '1,2d' -e 's/ali/ll/g' 

sed -i 可以直接对源文件进行修改,谨慎使用嗷。

http://www.lryc.cn/news/45764.html

相关文章:

  • redhat9忘记root密码操作(普通用户也适用)
  • Android 五种启动模式小结
  • 算法竞赛ICPC、CCPC、NIO、蓝桥杯、天梯赛
  • 图像分割技术及经典实例分割网络Mask R-CNN(含基于Keras Python源码定义)
  • 元宇宙和医疗保健
  • iOS_从相机或相册里扫描二维码或条形码
  • Python 自动化指南(繁琐工作自动化)第二版:十六、使用 CSV 文件和 JSON 数据
  • knife4j接口文档
  • Windows机器安装SSH搭建,自己搞个局域网机房玩一玩
  • 二叉树的前序遍历(力扣144)
  • 【数据库管理】①实例与数据库
  • vba:单元格的选择,查找,合并,批注,SpecialCells,图形插入
  • 【内网安全】横向移动域控提权NetLogonADCSPACKDC永恒之蓝
  • 将本地项目上传到远程仓库的步骤
  • selenium+opencv实现模拟登陆(滑块验证码)
  • 辽宁申请互联网医院牌照流程
  • java实现布隆过滤器
  • gitlab部署及整合Jenkins持续构建(三)nexus私服的安装及实战、linux安装mysql
  • 一、Java基础(2)
  • 软件设计师重要知识点——第一章——计算机组成与体系结构
  • 编程学习心得
  • web获取媒体流
  • 代码随想录算法训练营第四十二天 | 01背包问题,你该了解这些、01背包问题,你该了解这些 滚动数组、 416. 分割等和子集
  • 【Android】JNI静态与动态注册介绍
  • 【算法题解】22. 接雨水
  • 集合详解之(四)集合的遍历
  • 【I2C】通用驱动i2c-dev分析
  • 用GPT-4写代码不用翻墙了?Cursor告诉你:可以~~
  • 硬件语言Verilog HDL牛客刷题day03 时序逻辑部分
  • day31 ● 455.分发饼干 ● 376. 摆动序列 ● 53. 最大子序和