[英]Listing directory contents
我正在嘗試使用管道編寫UNIX命令,該管道將顯示我的主目錄中的文件數,包括以“。”開頭的隱藏文件。
到目前為止,我有:
ls -a。* | wc -l我得到一個返回的整數
我的命令正確嗎?
在當前目錄中時:
ls -1 | wc -l
或指定完整路徑:
ls -1 /path/to/dir | wc -l
-請注意, ls
密鑰不是l
,而是1
將跳過“隱藏”文件(以.
開頭的文件)。 如果要包括它們,則:
ls -1a /path/to/dir | wc -l
-但請注意.
(當前目錄指針)和..
(父目錄指針),因此可能需要從結果編號中減去2。
我的命令正確嗎?
否。當說ls -a .*
,該命令還將返回以.
開頭的目錄中的文件.
除了返回.
和..
為了display the number of files in my home directory including hidden files that begin with a '.'
,說:
find $HOME -type f | wc -l
如果要將其限制為僅HOME目錄,請說:
find $HOME -maxdepth 1 -type f | wc -l
您還可以使用find
:
find ~ -type f | wc -l
要么
find ~ -type f -maxdepth 1 | wc -l
如果您不想遞歸查找。
具有更多管道的YA非遞歸命令:
ls -la | awk '{ print $1 }' | grep -v total | grep -v d | wc -l
最佳非遞歸-與上述同事一樣,但為避免警告,請在類型選項前放置maxdepth:
find ~ -maxdepth 1 -type f | wc -l
遞歸:
find ~ -type f | wc -l
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.