linux sed用法

shell文件编辑工具,sed -i与ed的区别 着无聊,继续答题 问题:GNU sed 提供了-i选项,为什么有人说sed -i 并不象 ed 一样真正的编辑文件?(提示:观察文件改变前后的inode) 注意审题的话,这题是二个文件编辑器的比较, 也有可能是提示的误导,这题大都知道答-i 是用临时文件的机制, 但这道题如果不通过说明ed 的模式,再做sed -i 与ed 比较, 怎么看都不算完整 阅读详情

linux之sed用法

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法
sed命令行格式为:
         sed [-nefri] ‘command’ 输入文本        

常用选项:
        
-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。
        -e∶直接在指令列模式上进行 sed 的动作编辑;
        -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作;
        -r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法)
        -i∶直接修改读取的档案内容,而不是由萤幕输出。
       

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

举例:(假设我们有一文件名为ab)
     删除某行
     [root@localhost ruby] # sed '1d' ab              #删除第一行 
     [root@localhost ruby] # sed '$d' ab              #删除最后一行
     [root@localhost ruby] # sed '1,2d' ab           #删除第一行到第二行
     [root@localhost ruby] # sed '2,$d' ab           #删除第二行到最后一行

  显示某行
.    [root@localhost ruby] # sed -n '1p' ab           #显示第一行 
     [root@localhost ruby] # sed -n '$p' ab           #显示最后一行
     [root@localhost ruby] # sed -n '1,2p' ab        #显示第一行到第二行
     [root@localhost ruby] # sed -n '2,$p' ab        #显示第二行到最后一行

  使用模式进行查询
     [root@localhost ruby] # sed -n '/ruby/p' ab    #查询包括关键字ruby所在所有行
     [root@localhost ruby] # sed -n '/\$/p' ab        #查询包括关键字$所在所有行,使用反斜线\屏蔽特殊含义

  增加一行或多行字符串
     [root@localhost ruby]# cat ab
     Hello!
     ruby is me,welcome to my blog.
     end
     [root@localhost ruby] # sed '1a drink tea' ab  #第一行后增加字符串"drink tea"
     Hello!
     drink tea
     ruby is me,welcome to my blog. 
     end
     [root@localhost ruby] # sed '1,3a drink tea' ab #第一行到第三行后增加字符串"drink tea"
     Hello!
     drink tea
     ruby is me,welcome to my blog.
     drink tea
     end
     drink tea
     [root@localhost ruby] # sed '1a drink tea\nor coffee' ab   #第一行后增加多行,使用换行符\n
     Hello!
     drink tea
     or coffee
     ruby is me,welcome to my blog.
     end

  代替一行或多行
     [root@localhost ruby] # sed '1c Hi' ab                #第一行代替为Hi
     Hi
     ruby is me,welcome to my blog.
     end
     [root@localhost ruby] # sed '1,2c Hi' ab             #第一行到第二行代替为Hi
     Hi
     end

  替换一行中的某部分
  格式:sed 's/要替换的字符串/新的字符串/g'   (要替换的字符串可以用正则表达式)
     [root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby/bird/g'    #替换ruby为bird
   [root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby//g'        #删除ruby

     插入
     [root@localhost ruby] # sed -i '$a bye' ab         #在文件ab中最后一行直接输入"bye"
     [root@localhost ruby]# cat ab
     Hello!
     ruby is me,welcome to my blog.
     end
     bye

shell之正则表达式及三剑客sed命令 Shell三剑客之sed命令 阅读详情

相关推荐

Linux sed的原理和用法

什么是sed?sed是一种非交互式的流式编辑器,这里有两个关键字,非交互式和流式 非交互式就是指sed只能够在命令行下输入编辑命令来对文本进行编辑,然后在屏幕上查看输出。 流式是指sed每次只从文件中读入一行,然后对该行进行指定的处理,并将处理结果输出到屏幕上,处理完后在读入下一行。 sed对文本的过程处理如下: sed的使用命令格式sed [options] '

leap的博客 2954

shell行替换

"行替换" 是指在命令行中搜索一个文本文件,并将找到的指定文本替换为其他文本。在 Bash 或其他 Unix-like 系统的 shell 中,可以使用 sed 命令来完成行替换操作。 例如,要将文件 "file.txt" 中的所有 "hello" 替换为 "hi",可以使用以下命令: sed's/hello/hi/g' file.txt 这条命令会将 "file.txt" 中的所有 "hell...

weixin_35756892的博客 2087

sed命令常见用法

运用sed命令高效地删除文件的特定行 1. 删除某一行 首先,我们先从删除某一行开始,比如删除第一行、最后一行,实际也就是第 N 行嘛。 删除第 N 行的命令格式: sed 'Nd' file 删除最后一行 # sed '$d' sed-demo.txt 2. 删除某些行 sed 命令可以删除连续又或者不连续的行内容。 删除连续的行,例如删除从 5 到 7 行 的内容: # sed '5,7d' sed-demo.txt 删除不连续的行,例如删除第 1 、第 5 、第 9 和最后一行: # sed '

qq_40907977的博客 1万+

linux之sed用法

sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换、删除、新增、选取等特定工作,下面先了解一下sed的用法sed命令行格式为:sed [-nefri] ‘command’ 输入文本 常用选项:-n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被...

dengdiaoji0891的博客 3360

Windows 10/11蓝屏急救:SECURE_PCI_CONFIG_SPACE_ACCESS_VIOLATION报错全攻略(附安全模式+CMD修复)

本文针对Windows 10/11系统常见的SECURE_PCI_CONFIG_SPACE_ACCESS_VIOLATION蓝屏报错,提供了从诊断到修复的完整解决方案。文章深入剖析了该错误与系统安全功能“内存完整性”及pci.sys驱动的关系,并详细指导用户如何通过安全模式进行基础修复,以及使用命令提示符执行高级系统文件修复和注册表修改,帮助用户彻底解决蓝屏问题并恢复系统稳定。

echo99的专栏 968

手把手用ROS实现Ego-Planner动态避障:无人机撞树问题终结方案

本文详细介绍了如何在ROS和Gazebo仿真环境中,通过配置和调优Ego-Planner算法,实现无人机的动态避障功能。文章深入解析了其基于局部梯度优化的核心思想,提供了从环境搭建、参数详解到代码集成的完整实践指南,并分享了实战排错经验,旨在彻底解决无人机在复杂动态场景中的碰撞问题。

weixin_29031161的博客 1630

linux中sed规范,linux中sed用法

一、sed命令介绍:1、含义:Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器。能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上。还可以对原文件改动,但是不会再屏幕上返回结果。2、功能:主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等3、参考:http://www.gnu.org/so...

weixin_33750664的博客 483

9.9元ESP32-C3开发板实战:手把手教你用VSCode搭建RT-Thread最小系统(附避坑指南)

本文提供了一份详尽的实战指南,教你如何在售价仅9.9元的ESP32-C3开发板上,使用VSCode搭建RT-Thread最小系统。内容涵盖从ESP-IDF环境配置、BSP源码获取、内核补丁应用到编译下载与调试的全流程,并重点分享了版本选择、补丁应用等关键避坑技巧,旨在帮助开发者低成本、高效地启动嵌入式实时操作系统开发。

o4p5q6r7s的博客 226

Linux sed常规用法

Linux sed常规用法

slient的博客 568

【AMD | Docker】超级全面版本:在Docker中验证AMD GPU移动显卡可用性的方法

1. 安装ROCm Docker支持 ■AMD GPU驱动 ■ROCM ■Docker 2. 配置Docker使用ROCm 3. 使用官方ROCm Docker镜像 4. 使用Docker CLI参数访问GPU

静谧、淡雅 684

物联网通信中NB-IoT、Cat.1、LTE-M该如何选择?

首先我们要确定我们产品的关键需求,例如:我们的设备是否对数据传输速率有较高的要求,有较高要求我们就需要选择较高传输速率的Cat.1来开发我们的产品。同时关于产品性能方面,我们对功耗、延迟、可靠性也会有所要求,例如我们的产品为移动端产品,不方便布线以及安装电源,那我们就会采用电池供电的方式,所以在选择时可以优先考虑低功耗产品,最终结合其他需求选择出合适的协议。首先,我们需求的产品是不同的,我们需要根据产品需求或项目需求来进行选择,NB-IoT、Cat.1、Cat.M都有属于自己的优势。

a1809032425的博客 1216

linux中sed切割方法,linux中sed用法

#SED是什么? sed:Stream EDitor 流编辑器SED是一项Linux指令,功能同awk类似,差别在于,sed简单,对列处理的功能要差一些,awk的功能复杂,对列处理的功能比较强大。——–百度百科sed命令与grep、awk并称linux字符处理三剑客。它主要是对行的内容进行处理,对指定字符数据按照指定的脚本规则进行处理并输出。命令使用格式: sed [option] 'script...

weixin_42134537的博客 1909

开源项目-智能算法中台管理系统

智能算法中台管理系统,系统主要有样本中心,算法中心,模型中心等模块

u010479989的博客 3001

linux下sed的一些进阶用法总结

linux下sed的一些进阶用法总结 1.sed正则的混合用法例如: sed ‘s/被替换内容/替换的内容/g’ s/:表示替换 /g:表示全局搜索 2.sed处理后输出到一个文件 sed ‘s/被替换内容/替换的内容/g’ <被检索替换的文件名>替换完成输出的文件名 持续更新 ...

FGREATF的博客 220

微信小程序(云开发) - 实现微信小程序拼团功能+前后台源码/数据库设计,开团参团、自动成团、微信分享链接URL参与拼团、组团人数/倒计时/实时数据、设置拼团人数限制等(拼团退款处理逻辑、订单同步等)

实现微信小程序云开发拼团功能,云开发小程序--微信拼团设计实现,微信小程序实现秒杀、拼团等效果,微信小程序云开发拼团源码完整版 包含前后台和数据库,拼团商城小程序开发,分销,拼团,社群团购,微信小程序—判断参团人数(设置拼团剩余人数数组)拼多多拼团小程序开发,微信云开发教程怎么实现微信小程序云开发拼团功能?云开发如何实现拼团,拼团小程序怎么弄,微信小程序案例:拼团模块,需要朋友助力,详细源码demo示例,如何做拼团功能,云开发小程序如何做拼团功能,外卖电商拼团,仿拼多多拼团,拼团后退款怎么办,拼团后订单管理

🏆 前端领域优质创作者 4628

华为OD机试真题 新系统 9月27号 【数据中心最佳维护窗口】

华为OD机试真题 新系统【数据中心最佳维护窗口】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【数据中心最佳维护窗口】多语言题解。

qq_45776114的博客 1155

linux中sed的用法

sed(Stream Editor)是 Linux 系统中一个强大的流式文本编辑器,它可以对文本进行替换、删除、插入、选取等操作,并且可以在不修改原始文件的情况下输出处理后的结果,也可以直接修改文件内容。以下是sed。

weixin_48518726的博客 609

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

linux 三剑客 sed 的用法

最常见的用法是替换文本:s 表示替换操作。old 是要被替换的字符串。new 是替换后的字符串。filename 是文件名。

qq_55046640的博客 1844

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Linux系统中Shell脚本之awk、sed用法

格式:说明: program通常是被放在单引号中,并可以由三种部分组成• BEGIN语句块• 模式匹配的通用语句块• END语句块常见选项:• -F “分隔符” 指明输入时用到的字段分隔符,默认的分隔符是若干个连续空白符• -v var=value 变量赋值..}• pattern:决定动作语句何时触发及触发事件,比如:BEGIN,END,正则表达式等• action statements:对数据进行处理,放在{}内指明,常见:print, printf。

yinglongdiwan的博客 1364

linux 之sed用法大全

linux 之sed用法大全 sed详细用法 1. sed的作用 sed是Stream Editor(流编辑器)的缩写,简称流编辑器;主要用来处理文本的。跟awk、grep合起来成为linux三驾马车。 sed是一行一行读取文件内容并按照要求进行处理,把处理后的结果输出到屏幕 2. 命令行格式 sed [options] ‘处理动作’ 文件名 3. sed常用选项 选项 说明 备注 -r 使用正则表达式 常用 -i 直接编辑文件会生效 常用 -n 取消默认输出 采用静默的方式

m0_52425873的博客 4330

linux sed高级用法,Linux sed 高级用法实例

Linux 中,sed 可以实现替换或者插入等功能,用法简单归纳一下。1,要替换一些文字时,用”/”把各部分隔开;sed-i's/原内容/新内容/g'文件注意:原内容可以是一整行,也可以是一行中的某一段。2,要替换时,如果“原内容”或“新内容”中含有特殊字符(比如”/”或者”#”等),可以使用其它符号把各部分隔开,比如以下几种格式都是正确的sed-i's,原内容,新内容,g'文件sed...

weixin_35748962的博客 510

linux中的sed参数,Linux系统中sed命令的参数及用法详解

Linux系统中sed 是一种在线编辑器,它一次处理一行内容。下面由学习啦小编为大家整理了Linux系统中sed命令的参数及用法详解的相关知识,希望对大家有帮助!Linux系统中sed命令的参数及用法详解:参数说明命令格式sed的命令格式:sed [options] 'command' file(s); sed的脚本格式:sed [options] -f file file(s);选项与参数:-n...

weixin_28922087的博客 672

linux sed 匹配单词,Linux正则sed的用法

*sed可以实现一些grep的功能,但是稍微麻烦了一些,sed的强项在于删除文件中的内容和替换sed实现grep检索功能:1.根据关键字检索:[root@localhost ~]# sed -n '/root/'p passwd.txt*使用sed检索时需要在关键字前加-n参数,关键字后加p,关键词还需要用 // 包括起来2.关键字有特殊符号时加上 -r 参数或使用脱义符[root@localho...

weixin_28764585的博客 1782

Linux Sed的一些用法

sed -i '/xxx/s/aaa/fff/g' file --表示针对文件,找出包含xxx的行,并将其中的aaa替换为fff。sed -i '3s/aaa/fff/' file --表示针对file文件中的第三行,将其中的aaa替换为fff。sed -i '1s/[#*]/fff/gp' file --表示针对文件第1行,将其中的#号或是*号替换为fff。sed -e '2c 新的内容' -e 's/[0-9]/新的内容/g' filename。sed -i '1d' filename #删除第一行。

2404_85855917的博客 520

linux用sed删除日志,linux中sed用法

一、sed命令介绍:1、含义:Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器。能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上。还可以对原文件改动,但是不会再屏幕上返回结果。2、功能:主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等3、参考:http://www.gnu.org/so...

weixin_32423063的博客 599
上一篇: mysql 笔记
下一篇: linux学习笔记
路人甲三号
博客等级 码龄18年 8粉丝 34原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值