无法识别在 MacOS 终端中重命名文件所需的语法[已关闭]

问题描述 投票:0回答:2

这是一个令人头疼的问题。

我需要将这三个奇怪名称的文件从外部 2.5 英寸 SSD 移动到我的桌面。文件名的目的是用日期信息替换变量,但是,显然它不起作用。所以我只剩下这些MacOS 似乎想要解释而不是视为字符串的文件名,我希望它像使用单引号或转义字符一样简单,但到目前为止,这还没有奏效。

Files: Test01-$(internal:date_y)-$(internal:date_m)-$(internal:date_d)-.mp4 Test01-$(internal:date_y)-$(internal:date_m)-$(internal:date_d)-0001.mp4 Test01-$(internal:date_y)-$(internal:date_m)-$(internal:date_d)-0002.mp4


我使用的是 MacOS。在 Finder 中,这些文件不可见。但它们不是隐藏文件。

但是,在终端中,当我导航到“/Volumes/TestDrive”,然后运行快速“ls”时,我可以看到所有三个文件都没有问题。包括权限、大小、所有者、完整文件名等

但是,当我尝试将文件移动到桌面并在此过程中重命名(即使我不重命名)时,终端告诉我“找不到这样的文件或文件夹”或非常接近的内容。

我尝试使用 mv 和 cp 命令将文件名放在单引号中,以便按字面意思读取文件名。然而,我仍然收到文件无法传输的反馈,因为它找不到或不存在。

mv 'Test01-$(internal:date_y)-$(internal:date_m)-$(internal:date_d)-.mp4' ~/Desktop/Test01-01.mp4' 'cp 'Test01-$(internal:date_y)-$(internal:date_m)-$(internal:date_d)-.mp4' ~/Desktop/Test01-01.mp4


当我尝试转义特殊字符而不是引号时,我还被告知该文件不存在。但当我列出驱动器的内容时,显然它确实如此。而且只有 3x .mp4 文件、两个隐藏文件 .fseventsd 和一些聚光灯文件。

mv Test01-\$\(internal\:date_y\)-\$\(internal\:date_m\)-\$\(internal\:date_d\)-.mp4 ~/Desktop/Test01-01.mp4


我尝试过通过索引节点复制。没有运气。我尝试将视频拉入 ffmpeg(基于 CLI 的媒体管理工具),看看是否可以获得有关文件的一些信息,同样,ffmpeg(或 ffprobe)都会告诉我该文件不存在...即使我可以列出文件并看到它确实如此。

我希望我错过了一些明显的东西,但似乎所有明显的方法都还不适合我。

所以我的问题是,我需要做什么才能使这些文件“存在”,以便我可以重命名它们并备份它们?很高兴进入任何兔子洞。

提前致谢!

macos variables ffmpeg terminal filenames
2个回答
1
投票
太好了,我解决了问题。我怀疑这是 SSD 存储分区上的文件系统损坏。我认为这就是为什么我可以看到终端中列出的文件,但无法通过 Finder 看到它们。

无论如何,事实证明,可以通过在恢复模式下使用“磁盘工具”中的“急救”修复磁盘驱动器来解决该问题。我不知道命名方案与腐败有什么关系。

为了解决我的问题,我将 Mac 重新启动到恢复模式(启动时使用 CMD + R),以确保没有任何进程针对已安装的 SSD 运行。打开终端以在驱动器上运行“diskutil info”。该命令的输出中有错误,并且它列出了有问题的文件名。

我关闭了终端。打开磁盘工具(而不是通过终端访问)。我对有问题的驱动器进行了急救。然后重新启动到常规 MacOS(不是恢复模式)。当我在 Finder 中再次打开外部磁盘时,我可以看到文件、特殊字符等。我使用 Finder 成功重命名了文件,并且能够将文件移动到最终目的地。


0
投票
是结肠导致了问题,试试这个:

mv 'Test01-$(internal'*'date_y)-$(internal'*'date_m)-$(internal'*'date_d)-.mp4' ~/Desktop/Test01-01.mp4
    
© www.soinside.com 2019 - 2024. All rights reserved.