2016-08-23 18 views
1

我想列出只有空格才具有空格的文件。

例如使用命令touch " "創建的文件。

這將創建一個有3個空格的文件。

我正在使用以下命令,但它沒有列出所需的文件。

ls -lart | grep '[^a-zA-Z0-9]' 

回答

3

Do not parse ls。相反,你可以使用find使用正則表達式:

find . -regextype posix-extended -regex '^.*/ *$' 

由於man find說:這是整個路徑上的匹配,不是搜索,我們只能說(學分約翰Kugelman):

find . -regextype posix-extended -regex '.*/ *' 

這將找到由多個空格組成的文件。

+0

@JohnKugelman真的,我沒有檢查過這種情況。謝謝,更新使用正確的正則表達式 – fedorqui

+1

錨點不應該是必需的。手冊頁上說:「這是一條全程的匹配,而不是搜索。」 –

+0

感謝您分享有價值的信息。現在我不會使用ls進行解析。您能否請分享一些與查找命令使用相關的好文章。 –

1

您可以按照與任何文件相同的方式列出它:按名稱或僅與其匹配的模式。

ls -lart " " 

模式需要bashshopt -s extglob(其他shell可能有一些simliar)。一種可能性:

ls -lart "+([[:space:]])" 
相關問題