首页 > 其他分享 >sed教程_使用sed命令向行尾添加字符(附sed元字符集)

sed教程_使用sed命令向行尾添加字符(附sed元字符集)

时间:2024-03-28 19:33:59浏览次数:17  
标签:字符 匹配 love 字符集 sed 行尾 World

sed教程_使用sed命令向行尾添加字符(附sed元字符集)

sed 是一项 Linux 指令, 功能同 awk 类似, 差别在于, sed 简单, 对列处理的功能要差一些, awk 的功能复杂, 对列处理的功能比较强大。

  • sed 元字符集:
^ 锚定行的开始, 如: /^sed/ 匹配所有以 sed 开头的行。

$ 锚定行的结束, 如: /sed$/ 匹配所有以 sed 结尾的行。

. 匹配一个非换行符的字符, 如: /s.d/ 匹配 s 后接一个任意字符, 然后是 d。

* 匹配零或多个字符, 如: /*sed/ 匹配所有模板是一个或多个空格后紧跟 sed 的行。

[] 匹配一个指定范围内的字符, 如: /[Ss]ed/ 匹配 sed 和 Sed。

[^] 匹配一个不在指定范围内的字符, 如: /[^A-RT-Z]ed/ 匹配不包含 A-R 和 T-Z 的一个字母开头, 紧跟 ed 的行。

\(..\) 保存匹配的字符, 如: s/\(love\)able/\1rs, loveable 被替换成 lovers。

& 保存搜索字符用来替换其他字符, 如 s/love/**&**/, love 这成 **love**。

\< 锚定单词的开始, 如: /\<love/ 匹配包含以 love 开头的单词的行。

> 锚定单词的结束, 如: /love\>/ 匹配包含以 love 结尾的单词的行。

x\{m\} 重复字符 x, m 次, 如: /0\{5\}/ 匹配包含 5 个 o 的行。

x\{m,\} 重复字符 x, 至少 m 次, 如: /o\{5,\}/ 匹配至少有 5 个 o 的行。

x\{m,n\} 重复字符 x, 至少 m 次, 不多于 n 次, 如: /o\{5,10\}/ 匹配 5-10 个 o 的行。

使用 sed 命令向行尾添加字符 (方法 1: 使用 $ 元字符定位行尾)

  • 示例文件 /var/File.txt

获取文件内容:

cat /var/File.txt

输出:

Line 1
Line 2
  • 使用 sed 命令向第 2 行的行尾添加 “Have a Apple” 字符串:

命令:

sed "2 s/$/ Have a Apple/" File.txt

输出:

Line 1
Line 2 Have a Apple
  • 释义: “/” 表示分隔符, “2 s” 表示修改第 2 行, “$” 表示行尾, " Have a Apple" 表示需要添加的字符串。

使用 sed 命令向行尾添加字符 (方法 2: 使用 & 元字符引用匹配结果)

命令:

echo "Hello World" | sed "s/World/& World/"

输出:

Hello World World
  • 释义: “&” 符号代表的是前面的匹配的模式, 相当于把匹配到的 “World” 引用过来。

总结

以上就是关于 sed教程 使用sed命令向行尾添加字符(附sed元字符集) 的全部内容。

更多内容可以访问我的代码仓库:

https://gitee.com/goufeng928/public

https://github.com/goufeng928/public

标签:字符,匹配,love,字符集,sed,行尾,World
From: https://blog.csdn.net/goufeng93/article/details/136978171

相关文章

  • 解决 TS7053: Element implicitly has an any type because expression of type strin
    背景有个接口interfaceDataType{id:number;name:string;created_at:string;updated_at:string;}我的数据{"id":9,"created_at":"2024-03-11T17:50:16.129235+08:00","updated_at":"202......
  • IfcConversionBasedUnit Basic unit declaration
    IfcConversionBasedUnit  当没有使用实体类型IfcMeasureWithUnit作为属性的数据类型更具体地定义单位时,项目的全局单位分配定义度量值和值的全局单位。项目的全球基本长度、面积、体积和时间单位定义为国际单位制的示例:#1=IFCPROJECT(’00ZhrqZYLBcgy$rVVaiu2A’,$,’Exa......
  • 论文解读:Convolutional Neural Network-based Place Recognition-2014
    关注微信公众号:XRobotSpace关注微信公众号:依法编程发表期刊/会议:ACRA发表时间:2014参考引用:Z.Chen,O.Lam,A.Jacobson,M.Milford,Convolutionalneuralnetwork-basedplacerecognition,in:2014AustralasianConferenceonRoboticsandAutomation(......
  • As a reader --> On the Robustness of ML-Based Network Intrusion Detection System
    ......
  • 论文解读(UDA-GCN)《Unsupervised Domain Adaptive Graph Convolutional Networks》
    Note:[wechat:Y466551|可加勿骚扰,付费咨询]论文信息论文标题:UnsupervisedDomainAdaptiveGraphConvolutionalNetworks论文作者:论文来源:2020aRxiv论文地址:download 论文代码:download视屏讲解:click1-摘要图卷积网络(GCNs)在许多与图相关的分析任务中都取得了令人印......
  • 夜神模拟器如何配置BurpSuite抓包及安装Xposed框架
    希望和各位大佬一起学习,如果文章内容有错请多多指正,谢谢!  个人博客链接:CH4SER的个人BLOG–WelcomeToCh4ser'sBlog0x00 前言夜神模拟器安卓7以上直接安装证书是无法成功抓取App 的HTTPS数据包的,因为安卓7默认不再信任用户安装的证书,此时就需要使用adb将......
  • 第七章 流编辑器sed
    第七章流编辑器sedsed是一个脚本型,非交互式的编辑器。sed没有交互式的编辑界面,光标移动以及庞大的快捷键功能。1,工作原理1,sed一次处理一行内容。处理时,把当前的行存储在临时缓存区(模式空间)中,接着用sed命令处理缓冲区中的内容,处理完成后,再把缓冲区的内容输出到屏幕。如此......
  • eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0 解释
    eslintsrc--extts,tsx--report-unused-disable-directives--max-warnings0解释一下这段命令这段命令是用来运行ESLint工具检查代码的,针对的是src目录下所有.ts和.tsx后缀的TypeScript文件。命令各部分的具体含义如下:eslint:这是执行ESLint工具本身的命令......
  • MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
    打开mongoDB的mongoshell,出现以下提示,此时输入任意键都会退出界面,无法进行命令输入。这时,我们首先在网址栏中输入http://localhost:27017/是否连接到27017端口,如果返回结果如下:接着在cmd命令提示符中输入mongod,确认MongoDB服务器是否启动,返回结果如下:从红色框标记的部分......
  • Mysql默认字符集修改
    0.查看自己的字符集配置mysql-uroot-p123456-e"showcharacterset\G;"查看所有的字符集查看常用的字符集:mysql-uroot-p123456-e"showcharacterset\G;"|egrep"gbk|utf8|latin1"|awk'{print$0}'查看MySQL当前的字符集mysql>showvariables......