使用" .logic"查找文件在名称中,但排除文件内部"项目文件备份"子目录

时间:2017-07-16 14:57:55

标签: macos terminal find

我需要识别目录中包含" .logic"的所有文件。在名称中但排除名为"项目文件备份"的子目录文件。您可以看到我的一个项目的示例,其中包含一系列备份文件(file_name.xx.logic)。我只想看项目文件本身,这里叫做KillBill.logic。

这是一个供参考的项目结构

  

音频文件

     

KillBill.logic

     

项目文件备份

     
    

KillBill.00.logic

         

KillBill.01.logic

         

KillBill.02.logic

         

KillBill.03.logic

         

KillBill.04.logic

  
     

采样器乐器

     

样品

我已经cd到了正确的目录,并运行以下命令以显示所有文件" .logic"在名称中:

find . -name "*.logic"

我试图按照规定的要求减少结果,但没有成功。到目前为止,我的尝试一直是

  • find . -name "*.logic" -not -path "*Backups*"
  • find . -name "*.logic"| awk '!*Backups*'(awk语句存在问题)
  • find . -name "*.logic" ! -name "*Backups*"(我怀疑这不起作用,因为文件本身的名称并不包含"备份"在其中

我可以find . -name "*.logic" ! -name "*.*.logic"只排除任何看似在其名称中包含版本信息的.logic文件,但我无法保证有效文件的名称中没有句点,因此我希望排除项目文件备份目录。

我应该使用哪种查找来列出项目文件,并排除每个项目"项目文件备份中存在的备份文件?我更喜欢使用查找而不是其他命令的组合。

2 个答案:

答案 0 :(得分:0)

在"项目文件备份"中重命名.logic中的所有文件。进入.logicpfb并在完成后将它们全部重命名

答案 1 :(得分:0)

我找不到使用find的方法,但以下效果很好

find . -name "*.logic" | grep -v "Project File Backup" -c