如何列出子文件夹中的文件并将此列表输出到本地文件?

时间:2017-05-12 18:00:10

标签: linux bash find output ls

我正在使用findls列出子文件夹中包含的mp3文件。在每个子文件夹中,我想将它包含的文件列表输出到本地文件(存储在此子文件夹中)。

我试过这个命令:

find . -type f -name \*.mp3 -execdir basename {} >> playlist.m3u \;  

但它写入的文件playlist.m3u存储在根目录.中,而不是找到的mp3文件的子目录。

有没有办法写入存储在子目录中的文件?

1 个答案:

答案 0 :(得分:0)

尝试以下命令,这将对您有所帮助:

   find -type d -exec bash -c 'cd $1; find  -maxdepth 1  -not -name "." -name \*.mp3 -printf "%f," | awk "{print substr(\$0,0,length(\$0)-1)}"  > playlist.m3u' bash "{}" \;

这会用逗号分隔文件列表,请相应更改。