linux - 如何使用 SED 命令在模式匹配之前插入一行
问题描述
运行命令后sed -i "/class MySQLPagedResultsajax/i Thing I Wish To Add;" /File/Location/
我得到的结果如下:
Thing I Wish To Add;class MySQLPagedResultsajax
而我想实现这一点:
Thing I Wish To Add;
class MySQLPagedResultsajax
请帮忙,因为我想要一个单行命令解决方案,因为这需要在多个文件上完成,我将使用 Excel 为每个文件创建单独的命令。
解决方案
只需将 awk 用于除简单的 s/old/new 之外的任何内容:
awk '/class MySQLPagedResultsajax/{print "Thing I Wish To Add;"} 1' file
添加-i inplace
到使用 GNU awk 进行伪就地编辑,就像您可以通过添加-
i 使用 GNU sed 进行伪就地编辑一样。
推荐阅读
- java - 必需的字符串参数“x”不存在
- r - 为什么使用 ShortRead::readFastq 函数读取压缩文件和未压缩文件时存在差异?
- ubuntu - 我无法设置 git clone 项目 Ubuntu 的数据库
- c++ - 默认情况下如何在编译前指定要包含的文件
- javascript - 以编程方式单击 html 输入的箭头 (type="number")
- dart - 如何在颤动中更改分页数据表的颜色?
- java - 将 java.sql.Type 映射到多个 varchar/varying 字段
- java - Webview 应用程序不下载图像 Android
- webview - 具有基本身份验证的 Flutter WebView
- python - 在给定 x,y,z 坐标时使用 DBSCAN 算法对 3D 点进行聚类