删除名称与字符串匹配的文件以外的文件

时间:2018-08-21 15:09:53

标签: bash grep find

我正在尝试删除目录中的所有文件(包括子目录),但仅删除与特定文件名不匹配的文件:“ equipe”“ match”“ express”

我正在尝试使用此命令

find . -type f '!' -exec grep -q "equipe" {} \; -exec echo rm {} \;
  1. 那行不通。它回显内部带有“ equipe”的文件
  2. 如何处理多个字符串? (“设备”,“匹配”,“表达”)

1 个答案:

答案 0 :(得分:4)

您可以使用此find

find . -type f -not \( -name '*equipe*' -o -name '*match*' -o -name '*express*' \) -delete