如果文本不存在,SED 脚本如何在行号处插入行?
SED script how to insert line at line number if the text doesn't exist already?
我有一个 sed 脚本,可以在特定行插入文本行。
这是我的 sed 脚本:
20i
- 行号
\
- 插入新行行号中有内容。
- 从'./newpage/index'导入新页面; - 插入行的文本行。
file - 文本所在的文件。
sed -i "20i \ import NewPage from './newpage/index'; " file
我想要实现的是:检查文档中是否存在关键字 "NewPage" 的能力 -> 不插入 sed 行。
有什么办法吗?
提前致谢,
在
您可以像这样在 bash 中使用 grep 和您的命令以及 ||
的组合:
grep -c NewPage yourfile || sed -i "20i \ import NewPage from './newpage/index'; " yourfile
它是这样工作的:
- 如果第一个命令不成功(找到单词),则执行
||
之后的第二个命令
- 如果第一个命令成功,则跳过第二个。
我有一个 sed 脚本,可以在特定行插入文本行。
这是我的 sed 脚本:
20i
- 行号\
- 插入新行行号中有内容。- 从'./newpage/index'导入新页面; - 插入行的文本行。
file - 文本所在的文件。
sed -i "20i \ import NewPage from './newpage/index'; " file
我想要实现的是:检查文档中是否存在关键字 "NewPage" 的能力 -> 不插入 sed 行。
有什么办法吗?
提前致谢, 在
您可以像这样在 bash 中使用 grep 和您的命令以及 ||
的组合:
grep -c NewPage yourfile || sed -i "20i \ import NewPage from './newpage/index'; " yourfile
它是这样工作的:
- 如果第一个命令不成功(找到单词),则执行
||
之后的第二个命令 - 如果第一个命令成功,则跳过第二个。