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
とそのオプションはPOSIX仕様に-type
あります。-name
答え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