【发布时间】:2022-01-26 23:39:14
【问题描述】:
我一直在尝试使脚本能够将一些文件从一台机器备份到另一台机器,但遇到了问题。
基本上我想要做的是复制两个文件,一个.log 和一个(或多个).dmp。它们的格式始终如下:
something_2022_01_24.log something_2022_01_24.dmp
我想对这些文件做三件事:
- 找到倒数第二个.log文件(即something_2022_01_24.log是最新的,我想找到之前的那个说something_2022_01_22.log)
- 获取仅包含日期 (2022_01_22) 的子字符串
- 复制与日期匹配的每个 .dmp(即 something_2022_01_24.dmp、something01_2022_01_24.dmp)
对于第一个我能找到的最好方法是:ls -t *.log | head-2 因为它显示创建的倒数第二个文件。
至于第二个,我更不知所措,因为我不确定如何解析第一个命令的输出。
我认为我可以用类似的东西处理第三个:
[ -f "/var/www/my_folder/*$capturedate.dmp" ] && cp "/var/www/my_folder/*$capturedate.dmp" /tmp/
你们认为有什么办法可以做到这一点?如何比较子字符串?
谢谢!
【问题讨论】:
标签: linux bash shell directory