我正在编写一个脚本sed
,用于在一个文件中查找字符串 - temp.txt(版本号)并获取此字符串并更新另一个文件中的版本号。这是相关的代码片段。
new=$(sed -n '/version: /p' temp.txt)
sed -i .bk "s/version: [.0-9]*/version: $new/" file2.txt
我遇到的问题是该变量new
不只占用带有版本号的一行,而是占用整个文件file2.txt。这使我相信该-n
命令的一部分不起作用,因为这应该禁止打印所有行,但其中包含字符串version
的行。
我认为这可能是sed
我正在使用的版本(在 Mac 上)的问题。或者我可能使用sed
错误的命令。任何帮助,将不胜感激。
我宁愿不更新我的版本sed
,因为这个脚本不仅仅在我的计算机上运行。因此,任何解决方法都是理想的。
谢谢