这是我的第一篇帖子,所以请慢慢来 :)
我正在创建一个 AppleScript,它运行 bash 命令来选择并删除指定文件夹组中最近修改的文件。文件名每次都会不同。
我见过如何在知道实际文件名的情况下删除带有特殊字符的文件,但在我的例子中,文件名是由 ls 发现的。遗憾的是,当我使用 rm 删除文件时,一切都乱了套,无法识别文件,因为文件名称中有问号和空格。有没有办法在变量外面添加引号,以便可以正确寻址?或者有更好的方法。我甚至不知道如何重命名文件。另外,我只想更改/删除一个文件,我无法重命名文件夹中的所有文件。
以下是其中一个文件名的示例。?+61 434 570 460? 于 2016-12-22 15.01.27.ichat
下面是我尝试运行的代码;rm -fr $(ls -t | head -n1)
谢谢大家的意见 :)
答案1
我最终解决了这个问题,我必须将引号放在引号中,即在命令中添加引号。
这是删除最新文件的有效命令,无论名称中是否有特殊字符或空格。
rm -f """$(ls -t | tail -1)"""
干杯。