我有一个 sed 脚本,它会在某一行插入文本行。
这是我的 sed 脚本:
-
20i
- 行号 -
\
- 插入新行,行号中有一些内容。 - 从'./newpage/index'导入NewPage; - 插入行中的文本行。
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
它的工作原理如下:
- 如果第一个命令不成功(查找单词),则执行
||
后的第二个命令 - 如果第一个命令成功,则跳过第二个命令。
关于shell - 如果文本不存在,SED 脚本如何在行号处插入行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41941921/