フォルダ内のファイルを処理するためにスクリプトはこのコードを使用していますが、サブフォルダでのみ機能します。
if [ -d "$1" ]; then for file in "${1%/}/"*/*(*.mkv|*.mp4|*.avi); do
フラットフォルダを使用するために削除できることを知っていますが、/*
フラットフォルダ(サブフォルダなし)とサブフォルダを含むフォルダを処理するためのよりきれいな方法を探しています。
forループには多くのコードがあるので、次に頼る解決策は望ましくありません。find
ベストアンサー1
具体的に試してglobstar
ください。extglob
bash
#!/usr/bin/env bash
shopt -s globstar extglob
if [[ -d $1 ]]; then
for file in "$1"/**/*.@(mkv|mp4|avi); do
:
done
fi