私は音楽ディレクトリをdebianコンピュータに持っています。最終的にこれらのファイルを削除する手伝いをするために、私はmediainfoをインストールし、そのコマンドを使って音楽ディレクトリにあるすべてのファイルを処理するスクリプトを作成しました。Bash:mediainfoのあるディレクトリ内のすべてのファイルを調べることができません
私は、削除する必要があるかどうかを定義するためにdurationパラメータを利用しようとしています。入力例は、
mediainfo --Inform="General;%Duration%" /home/administrator/music/Example\ Full\ OST.mp4
7838987
出力はミリ秒単位で戻ります。ファイルにスペースがあれば、mediainfoはその前にバックスラッシュを付けます。
#!/bin/bash
for i in /home/administrator/music/*
do
# Changing i to readable form for mediainfo
i=$(echo $i | sed -r 's/[ ^]+/\\&/g')
echo $i
# Go Through files, storing the output to mediadur variable
mediadur=$(mediainfo --Inform="General;%Duration%" $i);
echo $mediadur;
done
エコー出力は以下のとおりです:私は私のスクリプトでアカウントにこれを撮影した
/home/administrator/music/Example\ Full\ OST.mp4
mediadurエコー出力は何も表示されません。しかし、最初のエコー出力を最初の例にコピーすると、同じ出力が表示されます。
ただし、ディレクトリにファイル名にスペースがないメディアがある場合は、スクリプトは正常に動作します。スクリプトの出力:
/home/administrator/music/546721638279.mp3
83017
この問題は非常に困惑しています。どんな助けもありがとうございます。