2014-07-01 116 views
1

我想通過一個目錄進行遞歸,包括這些目錄的子目錄和子目錄,只輸出文件名(沒有目錄)。我還希望每個新行都有結果並進行排序。遞歸排序文件列表(linux)

請注意,ls -LRls -xLR不起作用,因爲ls將結果格式化爲一種表格。

夥計們,如果你可以編輯它,你有什麼建議嗎?

回答

2

轉到您要搜索的目錄,然後運行:

find . -type f -exec basename {} \; | sort 

按名稱排序,只是文件名(無路徑),只是文件(無目錄)。


詳情:

  • find工作遞歸,默認情況下。
  • -type f將只打印文件,而不打印目錄。
  • -exec basename對結果運行basename(所以路徑不打印)。
  • sort將會對結果進行排序(D'哦!)
+0

是這個遞歸嗎? – Jack

+0

@傑克,是的。你試過了嗎?我希望這有助於:) –

+0

這太棒了!我會upvote,但我還不能;也許很快! – Jack

0

「查找」和「排序」工具如何?

find <dir> -type f |sort 
+0

它說發現:F:沒有這樣的文件或目錄 – Jack

+0

@Jack,改變'

'爲一個實際的目錄,比如'.'或'$ HOME' –

+0

我已經這樣做了:/ – Jack

0

這應該工作。你有錯字嗎?你有什麼版本的Linux?見下面的例子

testserver:~ # find /etc -type f | sort 
/etc/.pwd.lock 
/etc/DIR_COLORS 
/etc/HOSTNAME 
/etc/Muttrc 
.... 
.... 
/etc/zmd/zmd.conf 
/etc/zshenv 
/etc/zshrc 
/etc/zypp/zypp.conf 
testserver:~ # 

(PS對不起嘗試添加一個評論,但我的代表處是不是50所以加入一個答案)