我需要帮助,我做了两件事。Unix Shell脚本搜索所有媒体文件的目录(音频和视频)
a)搜索所有媒体文件(即歌曲和视频)的当前目录,并构建要播放的可用文件的列表 。 b)如果没有找到媒体文件,则显示相应的消息,并给用户关闭该程序的选项 。
非常感谢
我需要帮助,我做了两件事。Unix Shell脚本搜索所有媒体文件的目录(音频和视频)
a)搜索所有媒体文件(即歌曲和视频)的当前目录,并构建要播放的可用文件的列表 。 b)如果没有找到媒体文件,则显示相应的消息,并给用户关闭该程序的选项 。
非常感谢
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'
@RoundRobin我已经提高了这一点,即使它不是shell脚本,因为执行shell脚本来操作文件名列表* well *很难,并且会导致非常难看的代码。例如linux文件名可以包含换行符,这样的文件名会打破dgarant的答案。 – je4d 2012-04-08 16:03:08
假设你的文件有扩展名:
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
输入您想搜索任何其他文件扩展名。
使用行13中的'file'命令。 – 2012-04-08 15:46:56