2012-10-25 59 views
1

我發現得到一個目錄下的所有文件,而細節

ls -AF /var/ |grep \/$ 

幫助我找到從目錄中的所有目錄,沒有更多的信息。 現在我需要完全相反 - 顯示所有文件沒有任何進一步的信息,只是在文件名中的每一行

file1 
file2 
file3 

和過濾,因爲這些目錄 - 我不需要

+0

@piokuc而如何將聯機幫助頁在這種情況下'ls'幫助? –

回答

8

爲了找到匹配某個表達式的文件,存在find。它的手冊非常好,還包括一些有趣的例子。對於只得到一個目錄的文件,你可以使用:

find /var -maxdepth 1 -type f -printf "%f\n" 
0

只需使用-v開關爲grep可以反轉匹配:

ls -AF /var/ |grep -v /$ 
-1

或者使用發現:

find -maxdepth 1 -type f /var/ 
+1

該命令的幾個問題。路徑丟失,'-maxdepth'必須在'-type'之前,並且它沒有給出OP想要的內容(只顯示沒有路徑的文件名) –

+0

'path'不是強制性的,但是你需要'-maxdepth'在'-type'之前 – c00kiemon5ter

+0

如果目標目錄不是pwd,那麼這個路徑是必需的,在這個問題中似乎是這種情況。 –

1

ls -1Ap /var/ | grep -v /

類似@ choroba的答案,但這個版本將列出在每一行乾淨的文件名稱,而不附加額外的分類指標,如果你不想要他們。

-p標誌追加/到目錄

-1標誌總是得心應手列出每行一個文件

相關問題