我需要幫助,我做了兩件事。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