2017-03-04 12 views
1

の一致するペアを見つける:私はキャッチしようとしていますバッシュ - 私は、フォルダ内の多くのファイルが持つファイル

Filename1_x264.mp4 
Filename2_x264.mp4 
Filename3_x264.mp4 
Etc. 

:名前に追加接尾辞

Filename1.mp4 
Filename2.mp4 
Filename3.mp4 
Etc. 

だけでなく、多くのファイルをfindコマンドを使用してペアをマッチングし、外部コマンドを実行しますが、まだそれを行う方法を見つけることはできません。 アイデアをいただければ幸いです。 bashのとそのパラメータ展開して

+0

[編集ヘルプ](http://stackoverflow.com/editing-help)をご覧ください。 – Cyrus

答えて

3

for i in *_x264.mp4; do 
    j="${i%*_x264.mp4}.mp4"   # remove suffix _x264.mp4 and add .mp4 
    if [[ -e "$j" ]]; then 
    echo "$i and $j exists" 
    fi 
done 
+0

'-e" $ i "'は常に真であり無視することができます。 – Socowi

+0

@ソコウィ:いいキャッチ!私は私の答えを更新しました。 – Cyrus

+0

'-e" $ i "'はパターンが何かにマッチすれば常にtrueです。 'shopt -s nullgob'を使うか' [[-e $ i]] ||ループの最初の行がその小さなコーナーケースを修正するので、「ブレーク」します。 – chepner

関連する問題