約 1000 個のファイル (png) があり、それらを対応するディレクトリとそのサブディレクトリに移動する必要があります。
26 個のディレクトリ (A ~ Z) があり、各ディレクトリの下に完全なアルファベット AZ があります。ファイル名は 6 文字/数字で、拡張子は png です (例: AH2BC0.png)。
ファイル AH2BC0.png をディレクトリ A に移動し、そのディレクトリ内でサブディレクトリ H に移動する必要があります (例: A->H->AH2BC0.png)。
実際には期待どおりに機能しない次のスクリプトを作成しました。
#!/bin/bash
ls >LISTE.txt
for i in LISTE.txt; do
a=$(cat $i | cut -b 1 | tr '[:lower:]' '[:upper:]')
b=$(cat $i | cut -b 2 | tr '[:lower:]' '[:upper:]')
mkdir -p $a/$b
cat $i | xargs mv $a/$b
rm $i
done
問題は、a) サブディレクトリが作成されず、b) ファイルが移動されないことです。スクリプトに関する提案やより良いアイデアはありますか?
ありがとう
PS: 私が bash スクリプトを作成したりコーディングしたりしたのは何年も前のことであることは明らかだと思いますので、ご容赦ください。PSS: MAC OSX bash 3.2 に取り組んでいます