一、统计当前文件夹下的文件、目录个数

# 统计当前文件夹下文件的个数
ls -l | grep "^-" | wc -l

# 统计当前文件夹下目录的个数
ls -l | grep "^d" | wc -l

# 统计当前文件夹下文件的个数,包括子文件夹里的 
ls -lR | grep "^-" | wc -l

# 统计文件夹下目录的个数,包括子文件夹里的 
ls -lR | grep "^d" | wc -l

# 递归的查看某目录下所有文件及目录数目
find dir/* | wc -l 

# 代码说明
ls -l  # 长列表输出当前文件夹下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)
grep "^-"  # 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d
wc -l  # 统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数

这里写图片描述


二、后缀名替换

# 将当前目录下以"*.png"为后缀名的图片全部换成"*.jpg"为后缀名
find ./ -name "*.png" | awk -F "." '{print $2}' | xargs -i -t mv ./{}.png ./{}.jpg

三、文件名导出

# 注意:导出会包含路径,若不想包含路径可以在图片目录下进行导出
find $path -name *.jpg > train_list.txt


# 使用 ls 将 imgs 中的图片名列举出来,然后利用 > 将文件名重定向到 train_list.txt 中
ls imgs/ > train_list.txt  
Logo

更多推荐