前言

简单介绍一下sed 和 awk。

正文

这两个和vim的区别:

vim 是交互式和 他们是非交互式

vim是文件操作模式与他们是行交互模式

sed

sed 的 模式空间。

sed的基本工作方式是:

  1. 将文件以行为单位读取到内存(模式空间)

  2. 使用sed的每个脚本对该行进行操作

  3. 处理完成后输出该行

替换命令s:

这里-e 是可以替换几个,而这里-i就是替换完写入到文件中。

如果要替换的是/,那么可以使用!替换/做分割。

多个替换可以用-e 隔开,同样可以这样:

这里s 是替换,那么如果将匹配的内容置为空呢?

这样既可。

替换是支持正则表达的,但是如果要支持扩展的正则表达,需要加上-r。

就是前面提及的那些+ | 这些扩展包。

有一个值得注意的是就是|,这个表示或的意思,但是如果是aa|bb,这个表示的是 aab 或者 abb的意思,而不是aa或者bb,这个得加();

() 这个括号其实是元组的概念,如果想看正则,可以看我的正则分类的那几篇。

我们可以发现上面的替换,都只是替换某一行的第一个,但是要替换一行的全部呢?需要加一个/g。

例如:

那么还有一些替换需要介绍的。

标志位:

这个g是全部的意思,但是如果只想匹配前两个呢?

这个p,就是匹配成功的行会被打印:

同样上面也看到了匹配成功的行多打印了,但是有一个问题就是希望只打印匹配成功的行怎么办?

然后这个-w,就是匹配成功的行写入到文件中去。

寻址:

分组:

sed 脚本文件:

下一节sed的其他命令

重新点亮shell————sed的替换[十]的更多相关文章

  1. Python3学习之路~2.8 文件操作实现简单的shell sed替换功能

    程序:实现简单的shell sed替换功能 #实现简单的shell sed替换功能,保存为file_sed.py #打开命令行输入python file_sed.py 我 Alex,回车后会把文件中的 ...

  2. 3-1 实现简单的shell sed替换功能

    1.需求 程序1: 实现简单的shell sed替换功能 file1 的内容copy到file2 输入参数./sed.py  $1  $2 $1替换成$2 (把a替换成% ) 2.个人思路 open ...

  3. 4.实现简单的shell sed替换功能

    # -*- coding:utf-8 -*- # Author: JACK ZHAO # 程序1: 实现简单的shell sed替换功能 import sys #判断参数个数 if len(sys.a ...

  4. python 3.x 写 shell sed 替换功能

    shell sed 替换功能 f1 = open('yesterday','r',encoding='utf-8') f2 = open('yesterday2','w',encoding='utf- ...

  5. [sed] linux sed 批量替换字符串

    比如,要将目录/modules下面所有文件中的zhangsan都修改成lisi,这样做: sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl ...

  6. Linux sed 批量替换多个文件中的字符串【转载】

    原文网址:http://blog.sina.com.cn/s/blog_730edb930100qzz5.html     比如,要将目录/modules下面所有文件中的zhangsan都修改成lis ...

  7. Shell 快速入门(十八):特殊符号的使用

    在 Shell 语言中,经常会看到中括号和括号组成的特殊标识,例如:[].[[]].(()).$(()).().这些符号经常使我们非常迷惑,弄清楚它们之间的作用和区别非常必要. 在开始之前,我们先来学 ...

  8. linux sed 批量替换多个文件中的字符

    格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldst ...

  9. shell变量的替换,命令的替换,转义字符

    1,shell变量的替换 变量可以根据变量是否为空或者被删除,而被替换为特定的值 ${var}  变量本来的值 $(var:-word)   如果变量为空,或者已被删除那么返回word,但是不改变va ...

  10. shell sed过滤器详解

    1. Sed简介sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为"模式空间"(pattern space),接着用sed命令处理缓冲区中 ...

随机推荐

  1. Java 一悟结束异常处理 Biu丶

  2. Zabbix“专家坐诊”第182期问答汇总

    问题一: Q:像烽火.浪潮这种没有ilo的设备怎么监控他们的硬件状态呢? A:如果没有ilo,可以使用其他硬件监控软件,例如HP Insight Manager.IBM Director.Dell O ...

  3. vue 动态加载css,改变网站皮肤模式

    Vue.mixin({ created () { require('view-design/dist/styles/iview.css') } }) 参考资料:https://blog.csdn.ne ...

  4. day06-IO流应用01

    Java坦克大战06 8.IO流应用01 坦克大战6.0版 增加功能: 防止敌人坦克重叠运动 记录玩家的成绩(累计击毁坦克数),存盘退出 记录当时的敌人坦克坐标,存盘退出 玩游戏时,可以选择是开新游戏 ...

  5. Redis安装(Linux CentOS)

    1. 环境介绍 主机系统:CentOS Redis版本:7.0.10 2. 安装过程 检查 GCC 版本 gcc -v redis 6.0 以上需要 gcc 5.3,升级 gcc.如果安装的redis ...

  6. webpack 项目接入Vite的通用方案介绍(下)

    愿景 希望通过此系列文章,能给读者提供一个存/增量项目接入Vite的点子,起抛砖引玉的作用,减少这方面能力的建设成本 在阐述过程中同时也会逐渐完善webpack-vite-serve这个工具 读者可直 ...

  7. 3DCAT携手华为,打造XR虚拟仿真实训实时云渲染解决方案

    2023年5月8日-9日,以 ''因聚而生 众志有为'' 为主题的 ''华为中国合作伙伴大会2023'' 在深圳国际会展中心隆重举行.本次大会汇聚了ICT产业界的广大新老伙伴朋友,共同探讨数字化转型的 ...

  8. 智慧党建3D可视化方案,扩大党建文化宣传数字网络影响力

    信息技术的快速发展加快了社会分化解构,重构了人际传播渠道.随着党员中网民."数字原住民"比重持续攀升,党员工作生活信息化.网络化.数据化持续加深,传统的党建方式对党员,特别是年轻一 ...

  9. VUE3.0---Pinia学习记录

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 Pinia优势 Pinia是一个全新的Vue状态管理库,是Vuex的代替者,尤雨溪强势推荐 Vue2 和 Vue3 都能支持 抛弃传统的 ...

  10. Linux基础操作一

    开启Linux操作系统,要求以root用户登录GNOME图形界面,语言支持选择为汉语 开启虚拟机→Username:root→Password:"(注册时所创建的密码,比如"123 ...