複数のファイルを新しいフォルダに移動する方法

複数のファイルを新しいフォルダに移動する方法

フォルダにファイルのリストがあります。

./file1.ext
./file2.ext2
./file3.ext

これらすべてのファイルと関連する名前をそれぞれの新しいフォルダに移動したいと思います。たとえば、次のようになります。

./file1/file1.ext
./file2/file2.ext2
./file3/file3.ext

非常に少数のコマンドでこれを行う方法はありますか?

答え1

ループを使用してこれを行うことができます。

for f in *; do
    [ ! -d "${f%.*}" ] && mkdir "${f%.*}/"
    mv "$f" "${f%.*}/"
done

これにより、現在のディレクトリのすべてのエントリが作成され、移動されます。

${f%.*}尾拡張を使用してください。また、file1.extfile1.ext1

このスクリプトがあると、file1次の古いスクリプトでは機能しません。file1

関連情報