我正在嘗試爲mplayer編寫一個命令,它將按順序播放目錄中的所有音樂文件。Bash - 按文件名的第一個字母排序
alias mplay='mplayer -playlist <(find "$PWD" -type f|sort -n)'
這工作正常,如果我已經在我正在播放音樂的目錄。事實上,如果我在目錄中,並且例如鍵入「mplay MusicFileDirectory」,它甚至可以工作。
但是,當我不在我玩的目錄中時,命令會中斷,文件編號爲1,2,3 ...... 10,11等(而不是01,02 ... 11) - 10,11個文件現在在第二個文件之前播放。
這是因爲排序正在應用於擴展文件路徑,即MusicFileDirectory/1,因此它不會進行數字排序。
如何獲得排序命令只排序文件路徑的最後部分,因此我可以鍵入'mplay/home/james/Music/MusicFileDirectory',例如它只使用文件名目錄來排序播放列表?
你應該注意到,這是一個較新的GNU擴展。這個問題沒有被標記爲Linux。 – jordanm
謝謝,它適用於我。良好的延伸,從未聽說過它。據推測BSD解決方案會更困難。 –