2

次のようなmp3ファイルとサブディレクトリの両方を含むいくつかのディレクトリがあるとします。mp3

/music/band1/
/music/band2/
/music/band2/dir1/
/music/band2/dir2/
/music/band3/dir1/
/music/band3/dir2/
/music/band4/
...

.m3uファイルを含むすべてのディレクトリにファイルを作成したいmp3-たとえば:

/music/band1/band1.m3u
/music/band2/band2.m3u
/music/band2/dir1/dir1.m3u
/music/band2/dir2/dir2.m3u
/music/band3/dir1/dir1.m3u
/music/band3/dir2/dir2.m3u
/music/band4/band4.m3u

ファイルの名前は、.m3uファイルが作成されたディレクトリ名になります.m3u。(これは単なるディレクトリ構造の例です。)

私はそれが明確であることを願っています:)

これまでのところ、m3uファイルから*.mp3ファイルを生成するためにこれを使用していますが、実際のディレクトリのみで、ディレクトリごとに名前を付けています。

#!/bin/bash\
ls | grep -i mp3 > filelist.txt
mv filelist.txt filelist.m3u
FOLDERNAME=${PWD##*/}
echo $FOLDERNAME
mv filelist.m3u $FOLDERNAME.m3u

のすべてのサブディレクトリを再帰的に検索し/music、別のサブサブディレクトリがある場合はそこも検索するには、何を追加する必要がありますか? 次に、m3u各サブディレクトリで -make スクリプトを実行しますか?

ご協力ありがとうございました!:)

4

1 に答える 1

7

これですべてが処理されます (スクリプトは必要ありません)。

find . -name '*.mp3' -execdir bash -c 'file="{}"; printf "%s\n" "${file##*/}" >> "${PWD##*/}.m3u"' \;
于 2012-06-30T21:32:17.457 に答える