上記のような問題は、あなたがのためのパターンを持っているということですターゲットファイル名ですが、ソースファイル名には含まれていないようです。だからこそスクリプトを書くことは複雑です。そうでない限り...
1)3つのディレクトリを作成します。
mkdir Frowney Smiley Neutral
2)ファイルを手動で適切なディレクトリに移動します。
3)次に、これを実行します。
#!/bin/bash
#
dirs="Frowney Smiley Neutral"
# Verify that the directories exist
for dir in $dirs
do
if [ ! -d $dir ]
then
echo "ERROR: missing $dir!"
exit 1
fi
done
# process the directories
for dir in $dirs
do
echo "Processing $dir..."
counter=0
cd $dir
/bin/ls -c1 | while read -r file
do
ext="${file##*.}"
cp "$file" ../${dir}Draw$counter.$ext
((counter = counter + 1))
done
cd ..
done
注1:私はそれをテストするためのMacを持っていない、私は、Linux上でこれをしませんでした。 MacのbashはLinuxのbashとあまり変わらないと思う(と思う)。標準的なbashが提供しない奇妙な関数やコマンドは使用しませんでした。
注2:mvではなくcpコマンドを使用します。この方法では、ソースを変更しません。スクリプトが何か変わったことをするならば、ソースファイルを失うことはありません。満足したら、3つのディレクトリを削除します。
注3:ファイルには名前にスペースを入れることができますが、whileループはそれを処理します。
注4:ファイルが50個より多いか少ないかに関わらず、スクリプトは気にしません。それは単なるカウンタです。
これは役立つかもしれません:https://stackoverflow.com/a/17978041/600486 – ochi
実際にはあまり役に立たなかった... – Dinosaur212
[Welcome to StackOverflow](http://stackoverflow.com/tour)。私は全体的な感覚は、投稿されたような質問はあまりにも一般的であり、あなたの部分から少しの努力が欠けているようだということです。私たちはあなたの答えを記述するためにここにはありません。私たちはここで、あなたが立ち往生している地点を過ぎるようにしています。今のところ、あなたは私たちにすべての仕事をして欲しいです。あなたの質問を改善するためのヒントについては、[ask]ページをお読みください。 – ochi