假设我想删除目录中不是 .png 文件的每个文件。我只想保留照片,并删除其他所有内容。
像这样的东西,这显然是行不通的:
for file not in *.png;
do
rm $file
done
我该怎么办?我还想知道如何使用文件名中的自定义字符串而不只是扩展名来做到这一点。
假设我想删除目录中不是 .png 文件的每个文件。我只想保留照片,并删除其他所有内容。
像这样的东西,这显然是行不通的:
for file not in *.png;
do
rm $file
done
我该怎么办?我还想知道如何使用文件名中的自定义字符串而不只是扩展名来做到这一点。
在带有 set 的 bash 中,
extglob
您可以使用否定匹配:有关血腥细节,请参见此处。
这将等同于使用
find
和否定匹配选项。我强烈建议不-delete
先测试结果。