嗨,我知道如何使用linux
计算目录中所有文件的数量command:ls -l . | egrep -c '^-'.
如果目录中有test_1.jpg, train_1.jpg, test_2.jpg, train_1.jpg .....
。我只想计算test_*jpg
的数量,并且不计算此目录中train_*.jpg
的数量。如何使用Linux命令来执行此操作。谢谢!
答案 0 :(得分:1)
我发现ls -1 |> wc -l
效果很好。请注意,它是减1而不是减去字母l。
编辑:
因此,在您的情况下ls -1 test*.jpg | wc -l
应该有效。你可以调整通配符。在这种情况下,它会匹配以test
开头并以.jpg
结尾的任何内容。
答案 1 :(得分:1)
以下是否适合您:
ls -l *train_*.jpg | egrep -c '^-'.
答案 2 :(得分:1)
如果您的所有文件都在同一目录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.
答案 3 :(得分:1)
只要您的文件名不包含空格
a=( test*.jpg ); echo ${#a[@]}
同时检查shopt nullglob
以检测空列表。