2013-06-28 15 views
1

我需要一個find參數會:Linux找到所有被縮小的東西?

  1. 列表中的所有不在文件夾./bootstrap
  2. 排除在.js結尾的文件,而不是在.min.js
  3. 排除在.css結尾的文件,但不在.min.css

最好在一個唯一的命令。

我一直在尋找-prune-regex,但似乎沒有工作。我使用這個來填充zip命令來壓縮一切,這是我構建過程的一部分。

+0

你到目前爲止嘗試過什麼?我們不會給你編一個完整的腳本。那不是StackOverflow。 – DaGardner

+1

它是否只能用'find'?如何使用'grep'來過濾? – wallyk

回答

1

這個怎麼樣?

find . ! \(-name bootstrap -prune -o -name '*.js' ! -name '*.min.js' -o -name '*.css' ! -name '*.min.css' \) 

如果您只想保留這些文件,請在末尾處添加-type f

3

像這樣的東西應該工作:

find . \(-iname "*.js" -or -iname "*.css" \) -not -iname "*.min.js" -not -iname "*.min.css" | grep -v '^\./bootstrap' 

您還可以find-prune標誌做了,但我覺得語法是不是一個簡單的grep方式更令人費解。

另外請注意,我用的-iname代替-name - 這使得字符串大小寫不敏感,通常是我做什麼,如果我的源代碼樹中有從Windows文件,但隨意使用哪個服你的情況更好。

+0

從來沒有想過把grep和find結合起來。謝謝。 –

+0

這會找到所有且僅有的.js和.css文件,即#1,#2和#3的確切對照。易於修復。你的個人資料應該有一個網站。 –