Linux下获取文件夹下所有文件名及其相对地址
darknet批量测试数据需要从获取测试集中所有的文件名(即.jpg图片文件)用于后续批量测试时使用,故写得一下脚本文件:
# 举个栗子,该脚本文件叫get_filename.sh
#!/bin/sh
#============ get the file name in relative path===========
echo -e "请输入你要读取的文件夹路径\n当前路径为${PWD}"
read InputDir
echo "你输入的文件夹路径为${InputDir}"
echo -e "请输入你要将数据输出保存的文件路径\n当前路径为${PWD}"
read OutputFile
echo "输出保存的文件路径为${OutputFile}"
: > $OutputFile #清空OutputFile
#循环读取文件夹
for file_a in ${InputDir}/*
do
temp_file=${InputDir}/`basename $file_a`
echo $temp_file >> $OutputFile
done
使用说明:
运行该脚本文件如:
bash get_filename.sh
运行后需输入所需读取的文件夹路径(填相对路径即可):
例如我当前路径为~/darknet
则输入如:mydata/test
之后输入输出文件的保存地址(填相对路径即可):
输入:mydata/test.txt
即可在相应路径下得到test.txt文件。