您好我知道如何使用LinuxUbuntu Linux操作系统:如何计算某些文件的编号在目录
command:ls -l . | egrep -c '^-'.
统计所有文件的数量在一个目录如果目录下有test_1.jpg, train_1.jpg, test_2.jpg, train_1.jpg .....
。我只想统计test_*jpg
的数字,并不计算此目录中train_*.jpg
的数量。如何使用Linux命令来做到这一点。谢谢!
您好我知道如何使用LinuxUbuntu Linux操作系统:如何计算某些文件的编号在目录
command:ls -l . | egrep -c '^-'.
统计所有文件的数量在一个目录如果目录下有test_1.jpg, train_1.jpg, test_2.jpg, train_1.jpg .....
。我只想统计test_*jpg
的数字,并不计算此目录中train_*.jpg
的数量。如何使用Linux命令来做到这一点。谢谢!
我觉得ls -1 |> wc -l
效果很好。请注意,这是一个负号,而不是减号字母l。
编辑:
所以,你的情况应该ls -1 test*.jpg | wc -l
工作。你可以调整通配符。在这种情况下,它将匹配从test
开始并以.jpg
结尾的任何内容。
感谢您的评论,我只想计算一下测试的数量_ *。jpg不包括火车_ *。jpg – tktktk0711
为此更新了答案。其实,我没有包含下划线,所以也许你想让glob得到'test _ *。jpg' –
谢谢你的回答。 – tktktk0711
如果您所有的文件都在同一目录dir
,下面的命令将帮助你。
ll dir/test_*.jpg | wc -l
ls -al dir/test_*.jpg | wc -l
释:
ls -al dir/test_*.jpg | wc -l
# ll is short for ls -al
# -l use a long listing format
# -a, --all
# do not hide entries starting with .
# wc -l print the newline counts.
只要你的文件名不能包含空格
a=(test*.jpg); echo ${#a[@]}
还要检查shopt nullglob
检测空列表。
或者在填充阵列之前设置IFS = $'\ n'',不要担心空间。我可能会这样做,并将'echo'改为'find。 -type f -printf“%f \ n”' –
https://unix.stackexchange.com/questions/146760/count-files-in-a-directory-by-extension – 4EACH