Ubuntu Linux:如何计算目录中某些文件的数量

时间:2017-04-20 02:27:26

标签: linux ubuntu-16.04

嗨,我知道如何使用linux

计算目录中所有文件的数量
command:ls -l . | egrep -c '^-'.

如果目录中有test_1.jpg, train_1.jpg, test_2.jpg, train_1.jpg .....。我只想计算test_*jpg的数量,并且不计算此目录中train_*.jpg的数量。如何使用Linux命令来执行此操作。谢谢!

4 个答案:

答案 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以检测空列表。