列出所有文件计数为$ BASH输出列的文件?

时间:2014-07-03 09:26:59

标签: linux bash terminal ls wc

有没有办法显示类似于ls -al的文件,这些文件也会显示所列目录的文件数?有点像ls -alls -1 | wc -l作为最后一列?我已经尝试过切换参数,并且几乎放弃了管道,因为每当我尝试操作结果时,我都会遇到语法错误。另外,他们是金色的,所以我觉得我错过了一些明显的东西。一种修改ls的方法,所以它也会显示它列出的目录的文件数量,至少应该如此。有没有人知道如何让这个工作?

2 个答案:

答案 0 :(得分:2)

目录

ls -al | awk '/^d/{d++}{print}END{print "Directories: "d}'

所有文件

ls -al | awk '{print}END{print "Files:" NR}'

答案 1 :(得分:0)

我觉得这样的事情会更接近你想要的事情

> mkdir testdir && cd testdir && touch a && ln -s a b && mkdir c && touch c/{1..10}
> shopt -s dotglob; for i in *; do [[ -d $i ]] && paste <(ls -ld "$i") <(find "$i" -mindepth 1 | wc -l) || ls -l "$i"; done 
-rw-rw-r-- 1 user user 0 Jul  8 00:04 a
lrwxrwxrwx 1 user user 1 Jul  8 00:04 b -> a
drwxrwxr-x 2 user user 4096 Jul  8 00:04 c/ 10