
ディレクトリ内のファイルは次のとおりです:
Ford-Mustang-001.jpg
Ford-Mustang-002.jpg
Ford-Mustang-003.jpg
Chevy-Impala-001.jpg
Chevy-Impala-002.jpg
Chevy-Impala-003.jpg
これらをサブフォルダに分類したいと思います:
/Mustang
/Impala
答え1
明らかな答えは:
ディレクトリを作成して、そこにファイルを置くだけです。
mkdir Mustang Impala
mv *Mustang*.jpg Mustang/
mv *Impala*.jpg Impala/
これはファイルグロビング; これはシェルの機能です。
膨大な数のファイルがあり、それらを収容するために多くの異なるディレクトリを作成する必要がある場合は、JJoaoの回答。
答え2
プレネームの使用(Perl リネームツール)
prename 'if(/(.+?)-(.+?)-(.*)/){mkdir $2; $_="$2/$_"}' *.jpg
答え3
名前を変更したい場合はawkを使用してファイル名を分割します。mvawk {split $0, a, "-"; mkdir a[1]; mv $0 a[1]/}
プログラムでこれを行うことができます。