2012-04-08 61 views
-1

我需要幫助,我做了兩件事。Unix Shell腳本搜索所有媒體文件的目錄(音頻和視頻)

a)搜索所有媒體文件(即歌曲和視頻)的當前目錄,並構建要播放的可用文件的列表 。 b)如果沒有找到媒體文件,則顯示相應的消息,並給用戶關閉該程序的選項 。

非常感謝

+0

使用行13中的'file'命令。 – 2012-04-08 15:46:56

回答

1

Python將完美和輕鬆地完成這項工作。這是一種非常好的腳本語言,易於使用,您可以嘗試使用它。例如:

#!/usr/bin/env python 
import os 
files = os.listdir('.') 
available_files = [] 
for f in files: 
    if f.endswith('.mp3') or f.endswith('.mkv'): 
     available_files.append(f) 
if not available_files: 
    print 'there is no media file in current dir' 
+0

@RoundRobin我已經提高了這一點,即使它不是shell腳本,因爲執行shell腳本來操作文件名列表* well *很難,並且會導致非常難看的代碼。例如linux文件名可以包含換行符,這樣的文件名會打破dgarant的答案。 – je4d 2012-04-08 16:03:08

0

假設你的文件有擴展名:

file_pattern="*.mp3|*.mp4|*.flv" 
file_count=`ls 2>/dev/null | egrep $file_pattern | wc -l` 
if [ $file_count -eq 0 ]; then 
    echo "No files found" 
else 
    echo `ls | egrep $file_pattern` 
fi 

可以修改file_pattern輸入您想搜索任何其他文件擴展名。