我有时会在目录中生成一个文件,例如pi-hole-srv-teleporter_2024-08-27_13-59-16.tar.gz
。但有时会有两个或多个文件遵循相同的命名模板(具有不同的日期/时间)。
在某些时候,我想将其中一个文件移动到目录中/backup
并将其名称设置为/backup/teleporter.tar.gz
。我不关心它是哪个文件(通常只有一个文件,但这不能保证)。
在我开始用一些 Python 脚本重新发明轮子之前,有没有一种巧妙的方法可以用 shell(bash)执行这个选择/重命名/移动操作?
摘自:https ://askubuntu.com/questions/845625/moving-only-the-first-file-from-any-directory-to-current-one
如果您只想将目录中的第一个文件移动到当前工作目录,则可以使用 for,因为它会按顺序循环遍历文件。 将其替换为包含传送文件的目录的实际路径。 您可以先通过在
/path/to/
前面加上 来测试它:mv
echo
这将找到 POSCARS 中的第一个文件并模拟将其移动到当前工作目录。如果它显示了您想要的内容,则重新运行不带回显的命令以实际移动文件:
mv -v --
移动文件并报告操作,然后不接受进一步的选项.
是当前工作目录break
意味着在第一次迭代后中断循环,因此在找到第一个文件后它将停止移动文件