Linux中带条件的递归rm

zen*_*ngr 2 linux command-line

我有以下文件夹结构:

parent
 - folder1
   - main1.x
   - main1.y
   - main1.z
   - main1-626262.x
   - main1-626263.x
   - main1-626264.x
   - main1-626265.x
   - main1-626266.x
   - main1-626267.x
 - folder2
   - main2.x
   - main2.y
   - main2.z
   - main2-726262.x
   - main2-726263.x
   - main2-726264.x
   - main2-726265.x
   - main2-726266.x
   - main2-726267.x
Run Code Online (Sandbox Code Playgroud)

现在,我想删除: main-*********.x

所以,我需要的文件夹结构:

parent
 - folder1
   - main1.x
   - main1.y
   - main1.z
 - folder2
   - main2.x
   - main2.y
   - main2.z
Run Code Online (Sandbox Code Playgroud)

那么,我怎样才能做到这一点?

net*_*ope 6

尝试这个:

find * -name 'main?-*.x' | xargs echo rm -rf
Run Code Online (Sandbox Code Playgroud)

上面打印了一个删除不需要的目录的命令(没有实际删除它们)。如果看起来没问题,只需运行打印的命令,或者运行

find * -name 'main?-*.x' | xargs rm -rf
Run Code Online (Sandbox Code Playgroud)