2012-04-08 78 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输入您想搜索任何其他文件扩展名。