这是我昨天提出的问题的后续,在目录列表中显示文件大小的总和。
function dir() {
ls -FaGl "${@}" | awk '{print; total += $4}; END {print "\t\ttotal: ",total/1024,"KB"}'
}
Run Code Online (Sandbox Code Playgroud)
在我的.bash_profile
,它工作得很好。但是,至少在 Linux 上(我还没有机会在 OSX 上尝试它),我ssh
在 XP 上使用 PuTTY,我的目录颜色现在不见了。有没有办法通过管道将颜色代码传递给 awkprint
语句?
感谢 Sukminder 的回答,添加--color=always
可以解决问题,就像auto
之前设置的那样。但是,我现在在目录列表的末尾和总行之间有一个空格:
[19:30:58 mattdmo@server ~/webapps/django15 ] $ dir
drwxr-xr-x 7 mattdmo 4096 Mar 24 20:28 ./
drwxr-xr-x 17 root 4096 Mar 18 20:15 ../
drwxr-xr-x 7 mattdmo 4096 Mar 14 …
Run Code Online (Sandbox Code Playgroud) 当ls
被调用时,它输出当前目录中的所有文件/目录,尝试在每一行中尽可能多地适应。为什么当传递给 时wc -l
,它输出文件数?它如何决定输出结果的行数?