Bash (Shell脚本)对目录中的项目进行计数并显示出来
(Shell脚本)对目录中的项目进行计数并显示出来 我有一些代码使用Bash (Shell脚本)对目录中的项目进行计数并显示出来,bash,shell,count,counter,Bash,Shell,Count,Counter,(Shell脚本)对目录中的项目进行计数并显示出来 我有一些代码使用ls列出目录中的项目,但是我想知道是否有方法计算目录中的项目数并显示数字。例如,到目前为止,我的代码是: cd /home/$USER/.local/share/Trash/files && ls 上面的代码是定位我的垃圾桶,我删除的文件所在的位置。假设我有这样的东西: Music Wallpapers Movies Etc There are [4] Items in this directory: 1.
ls
列出目录中的项目,但是我想知道是否有方法计算目录中的项目数并显示数字。例如,到目前为止,我的代码是:
cd /home/$USER/.local/share/Trash/files && ls
上面的代码是定位我的垃圾桶,我删除的文件所在的位置。假设我有这样的东西:
Music
Wallpapers
Movies
Etc
There are [4] Items in this directory:
1. Music
2. Wallpapers
3. Movies
4. Etc
我怎样才能让它看起来像这样:
Music
Wallpapers
Movies
Etc
There are [4] Items in this directory:
1. Music
2. Wallpapers
3. Movies
4. Etc
非常感谢您的帮助 仅将ls管道连接到nl:
cd /home/$USER/.local/share/Trash/files && ls | nl -s '. '
如果确实需要标头,请通过管道将其连接到awk:
ls | nl -s '. ' | awk '
{c+=1; e=e RS $0} END {print "There are [" c "] Items in this directory" RS e}'
或者跳过nl
:
ls | awk '
{e=e RS NR ". " $0} END {print "There are [" NR "] Items in this directory" RS e}'
如果目录中有任何文件名称中包含换行符,则这些文件将计算错误。谢谢!你能解释一下你所说的“新线”是什么意思吗。你是说单词之间有空格吗?无论如何,到目前为止,它工作得很好;不鼓励这样做,因为人们错误地编写这样的代码,假定文件名不包含换行符。