実際、私は複数のサブフォルダを含むフォルダを持っていますが、各サブフォルダには多くの画像があります。
各サブフォルダー内のすべてのファイル名を、次の形式でそのサブフォルダー内のテキストファイル(filesNames.txt)に収集しようとしています。
絶対/パス/to/角度/ファイル/ファイル名
だから親フォルダにスクリプトを書いた。
#!/bin/sh
for dir in "$PWD"/*/; do
arr=( "$dir"* )
cd "$dir"
printf "%s 1\n" "$PWD/${arr[@]##*/}" > "$dir"filesNames.txt
cd ..
done
私の質問それだけです:
各サブフォルダの最初のファイルの絶対アドレスがあります。残りはファイル名にすぎず、絶対アドレスはありません。
/run/media/parent_folder/subfolder/filename1.png
filename2.png
filename3.png
...
私の考えではこれと関係があると思います。$PWD各サブフォルダに対して変数を一度だけ繰り返します。スクリプトを適切な形式にどのように変更できますか?
よろしくお願いします。
ベストアンサー1
単一のfind
コマンドで絶対パスを持つすべてのファイルが出力されます。
find $(pwd) -type f