我的文件夹中有图像,其中每个图像的名称为img1.jpg
,img2.jpg
等,图像的位置的形式为 /home/master/test/data/obj/img1.jpg
, /home/master/test/data/obj/img2.jpg
等。我试图提取图像的路径并将其放入名为的文本文件中sample.txt
其中每一行对应于图像位置:
/home/master/test/data/obj/img1.jpg
/home/master/test/data/obj/img2.jpg
在linux下有没有简单的方法可以做到这一点?
答案1
一种可能性是find
find /home/master/test/data/obj/ -type f -name "*.jpg" > sample.txt
*.jpg
它返回中包含的文件的绝对路径名/home/master/test/data/obj/
。
该find
命令及其选项-type
位于-name
POSIX 规范中。
答案2
您可以使用此命令:
cd your_dir
find "$(pwd)" -type f -name "img[0-9]*\.jpg" -exec echo > sample.txt {} \;
输出:
答案3
如果您想让它们具有完整路径,您可以使用
ls -1 /home/master/test/data/obj/*.jpg >sample.txt
如果您已经进入该目录,则可以使用:
ls -1 $(pwd)/*.jpg >sample.txt