关于linux:从Mac上的命令行删除当前文件夹和所有子文件夹中的.DS_STORE文件

Delete .DS_STORE files in current folder and all subfolders from command line on Mac

我知道我可以使用find . -name".DS_STORE"查找当前文件夹和所有子文件夹中的所有.ds_存储文件。但是我怎么能同时从命令行中删除它们呢?我发现来回切换到所有文件夹并逐个删除确实很烦人。

谢谢你的建议。


find可以做到这一点。只需添加-delete

1
find . -name".DS_Store" -delete


1
find . -name".DS_Store" -print -delete


以下是如何递归删除.ds_存储文件

开放式终端在命令行中,转到所有文件和文件夹所在的文件夹位置:CD到/your/目录

最后,键入以下命令:找到。-名称".ds_store"-类型F-删除

按回车

干杯!!


用文本编辑器创建一个新文件,复制并粘贴以下文本,并以".sh"文件扩展名保存,然后用终端打开该文件。确保文本编辑器实际正在保存原始文本,而不是将文件保存为富文本格式文件或其他文本文件格式,其中包含文件中的其他信息。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/bash
echo -e"
Drag a folder here and press the Enter or Return keys to delete all files whose names begin with a dot in its subfolders:
"
read -p"" FOLDER
echo -e"
The following files will be deleted:
"
find $FOLDER -name".*"
echo -e"
Delete these files? (y/n):"
read -p"" DECISION
while true
do
    case $DECISION in
        [yY]* ) find $FOLDER -name".*" -delete
        echo -e"
The files were deleted.
"
        break;;
        [nN]* ) echo -e"
Aborting without file deletion.
"
        exit;;
        * ) echo -e"
Aborting without file deletion.
"
        exit;;
    esac
done

您还可以使用扩展的全局设置(**):

1
rm -v **/.DS_Store

在zsh、bash 4和类似的shell中(如果未启用,则通过:shopt -s globstar激活)。