我正在寻找一种简单的方法来查找和删除目录及其所有子目录中名称中不包含某些字符串的所有文件。
我尝试先从 find 命令开始:
find . -type f \! \( -name "TMP_TGL_2" -o -name "PRES_SFC_0" \)
但它似乎并没有排除第二个字符串模式。我怎样才能做到这一点?
试试这个:
find . -type f ! \( -name "*TMP_TGL_2*" -o -name "*PRES_SFC_0*" \)
模式周围的通配符将确保它们匹配包含这些字符串的文件(否则它们只会匹配名称与字符串相同的文件)。