我有一個這樣的文件夾結構(這是一個小片段):如何查找/ grep目錄名稱與* nix上的「x」匹配但不匹配「y」的所有路徑?
└── test
└── cases
└── model
├── client
│ ├── socketsTest.coffee
├── server
│ └── socketsTest.coffee
└── shared
└── findersTest.coffee
的問題是,你如何列出結束.coffee
並在client
文件夾中不存在的所有路徑?
以下命令將返回匹配.coffee
中存在的server
文件夾中的所有文件:
find test -name "*Test.coffee" | egrep '/*server*/'
但我真正需要的是符合一切除了什麼是在客戶端文件夾中的正則表達式。
在* nix上做到這一點最乾淨的方法是什麼?最終目標是有來無迴文件client
文件夾內,因此,對於上面的樹,這將是:
$ <find files except those a client folder>
test/cases/model/server/socketsTest.coffee
test/cases/model/shared/findersTest.coffee
我試圖做這樣的事情,但沒有運氣:
find test -name "*Test.coffee" | egrep '*model/[^client]*'
真棒,謝謝!兩者對我來說都是新的。 –