![将特定文本文件中的文本附加到文件名中](https://linux22.com/image/1489270/%E5%B0%86%E7%89%B9%E5%AE%9A%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E6%96%87%E6%9C%AC%E9%99%84%E5%8A%A0%E5%88%B0%E6%96%87%E4%BB%B6%E5%90%8D%E4%B8%AD.png)
需要一些帮助。
我有一个名为 domoticz.backup.tar.gz 的文件,还有一个名为 History.txt 的文件,第一行显示版本 3.4834(2016 年 3 月 2 日)
我想在文件名的扩展名前添加 3.4834,以便能够识别备份来自哪个版本。当然数字会改变,但我希望文件的布局保持完整。
如果有人有更好的想法关于如何将当前版本添加到文件名,我会很高兴。
我尝试使用 sed 进行一些操作,但没有任何结果。
答案1
这将打印版本号:
awk '{print $2; exit}' history.txt
这将重命名文件:
F='your gzip tar file name'
mv $F $(basename $F.tar.gz).$(awk '{print $2; exit}' history.txt).tar.gz
答案2
你需要头历史的第一行,然后切输出的第二个字段包含版本信息。现在只有米o五剩下要做的就是将 domoticz.backup.tar.gz 更改为 domoticz.backup.$VERSION.tar.gz。