sed
sed命令详解
#!/bin/bash #2018-06-30 06:59:38 # sed Stream Editor文本流编辑 #sed命令的语法格式: #sed的命令格式: sed [option] 'sed command' filename #sed的脚本格式:sed [option] -f 'sed script' filename #sed命令的选项(option): #-n :只打印模式匹配的行. #-e :直接在命令行模式上进行sed动作编辑,此为默认选项 #-f :将sed的动作写在一个文件内,用–f filename 执行filename内的sed动作 #-r :支持扩展表达式((默认是基础正规表示法语法)) 想少用\ 那你就用-r #-i :直接修改文件内容,而不是输出到终端。 #sed command: [n1[,n2]]function #n1, n2 :不见得会存在,一般代表『选择进行动作的行数』,举例来说,如果我的动作是需要在 10 到 20 行之间进行的,则『 10,20[动作行为] 』 #function: #a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~(可以理解为append) #i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行); #c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行! #d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚; #p :列印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~,即只打印匹配的行. #s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦! # sed 后面接的动作,请务必以 '' 两个单引号括住喔! echo "删除第二行到第4行." nl ips.txt | sed '2,4d' | head -n 5 echo "删除第二行到最后一行" nl ips.txt | sed '2,$d' | head -n 5 echo "删除第4行.如果4行是空的,会往后找到非空行,补充到第4行." nl ips.txt | sed '4d' | head -n 5 echo "在第二行后(亦即是加在第三行)加上『drink tea?』字样!" nl ips.txt | sed '2a drink tea' | head -n 5 echo "要在第二行前" nl ips.txt | sed '2i drink tea' | head -n 5 echo "如果是要增加两行以上,在第二行后面加入两行字,例如『Drink tea or .....』与『drink beer?』" echo "每一行之间都必须要以反斜杠『 \ 』来进行新行的添加喔" nl ips.txt | sed '2a Drink tea or .....\ drink beer?' | head -n 5
应用举例:
sed -in 's/^#//g' tmp.txt 取消全部的#注释。
sed -in '4s/^#//g' tmp.txt 取消第4行的#注释。
sed -in 's/^/#/g' tmp.txt 全部添加#注释。
# echo "aaa bbb "|sed -r 's/(.)/A/'
Aaa bbb
# echo "aaa bbb "|sed 's//A/'
Aaa bbb
sed -r 's/([^:]+):(.*):([^:]+)/\3:\2:\1/' 1.txt 以:为分割符,将第一段和最后一段互相替换,\1表示第一个()内容,\2表示第二个()内容,\3表示第三个内容。
分类:
Linux/Unix OS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2016-06-30 14.会场安排问题(L4)