2009-08-28 57 views
0

如何限制節點的命令爲tree通過樹或Git限制`tree`節點

#1

我需要給我的項目的樹reqularly文件我的上司。 這些文件包含一些我不想在樹中顯示的第三方組件。 我已經解決了這個問題,通過將項目文件複製到tmp,刪除第三方文件,然後運行tree

但是,這個過程變得非常麻煩。 我想要更好地將我的文件樹給我的主管。

#2

我有我要在Git中表現出這樣的Git可以解決這個問題的文件。 我運行不成功

git ls-files --with-tree 

回答

1

您可以指定要匹配的文件並避免使用一般模式。從treemanpage

-P模式 只列出那些符合通配符模式的文件。注意:您必須使用-a選項來考慮以點開頭的文件。進行匹配。有效的通配符運算符是'*'(任何零個或多個字符),'?' (任何單個字符),'[...]'(括號內列出的任何單個字符(可選 - (破折號)用於字符範圍可以被使用:例如:[AZ])和'[^ ...]'(括號中未列出的任何單個字符)和「|」分開備用模式

-I型 不要列出那些符合通配符模式的文件

在特定情況下,運行

tree -I '3rd*' 

應該隱藏一個名爲'3rd_party'的目錄,包括子目錄和文件,同時仍然允許像'pa rty_3rd」。很顯然,名稱中不包含「3rd」的其他文件和目錄也會正常顯示。我已在Linux上使用樹v1.5.2.1驗證了此行爲。

+0

這似乎還不夠,因爲我想有一個與下面的'僞代碼'匹配的文件樹:** tree^3rd **。這與從第3個開始的文件或文件夾相匹配。 – 2009-08-28 12:56:34

+0

這適用於我:樹 - 我'第三*'。它不顯示名爲「3rd_party」的目錄,但顯示「party_3rd」和其他文件。似乎完全是你想要的...... – 2009-08-28 16:02:45

0

你可以把第三方工具是一個獨立的子目錄。

然後你只需要消除一個節點。

0

而不是更改tree命令,可能會更好地將第三方文件放在兄弟文件夾中的一個兄弟文件夾中,而不是在您自己的源的子文件夾中。