2010-01-14 4 views
3

나는 디렉토리 트리를 여행하고 찾은 모든 mp3 파일을 재생하기 위해 쉘 스크립트를 작성하려고 노력 해왔다. afplay는 내가 맥을 사용하는 것을 감안할 때 선택의 여지가있다. 그러나 afplay는 한 번에 하나의 인수 만 취하므로 계속 재생하려면 계속 호출해야합니다. 가장 단순한 해결책은 다음과 같을 것 같습니다 :디렉토리의 모든 파일을 개별적으로 실행

$(`find . -name *.mp3 | awk '{ print "afplay \047" $0 "\047"; }' | tr '\n' ';' | sed 's/;/; /g'`) 

...하지만 따옴표가 빠져 나오기까지 계속됩니다. 빠른 참조를 위해 \ 047은 '(작은 따옴표 문자)에 대한 8 진수이며, 인수를 하나에 캡슐화해야하지만 어떤 이유 때문에 그렇지 않습니다. 나는 여기서 무엇이 잘못 될지 전혀 모른다.

답변

5

find . -name '*.mp3' -exec afplay '{}' \;이 아닌가요? 당신의 모든 노래는 다음과 같이하면

+0

아름다운 연주, 감사합니다. –

0

가 :

1. song_name.mp3 
2. song_name.mp3 
3. song_name.mp3 
    ... 
20. song_name.mp3 

은 모두 20 당신이 할 수 단지 루프

for ((i=1; i<=20; i++)); do afplay $i* ; done 
관련 문제