2017-05-12 6 views
0

서브 폴더에 포함 된 mp3 파일을 나열하려면 findls을 사용하고 있습니다. 각 하위 폴더에 포함 된 파일 목록을 로컬 파일 (이 하위 폴더에 저장 됨)에 출력하고 싶습니다.어떻게 하위 폴더에 파일을 나열하고이 목록을 로컬 파일에 출력합니까?

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

있지만 루트 디렉토리 . 및 발견 된 MP3 파일이 아닌 디렉토리에 저장됩니다에 기록하는 파일 playlist.m3u :

내가이 명령을 시도했다.

하위 디렉토리에 저장된 파일에 쓸 수있는 방법이 있습니까?

답변

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 "{}" \; 

이 쉼표와 파일의 목록을 분리하는 것, 그에 따라이를 변경하십시오.

+0

고마워요! 나는 당신의 명령을 다음과 같이 변형시켰다 :'find -type d -exec bash -c 'cd "$ 1"; find -maxdepth 1 -name \ * .mp3 -printf "% f \ n"> playlist.m3u 'bash "{}"\;' – lamayo