Bashスクリプトを使用してファイルをフォルダに移動する

Bashスクリプトを使用してファイルをフォルダに移動する

私のホームディレクトリには、FTPサーバーから抽出された、、およびその他のApple-AP01ファイルApple-AP02Banana-AP05いくつかあります。同じChocolate-RS33ホームディレクトリにFruit。これらのフォルダ内には、などのサブフォルダSweetもあります。Apple-AP01Apple-AP02Chocolate-RS33

自分のホームディレクトリでスクリプトを実行してスクリプトを作成したら、キーワードに基づいてFruitフォルダに入れてから、それを追加する必要がありますApple-AP01。の場合、キーワードに応じてフォルダを入力してから、フォルダ内のサブフォルダをさらに入力する必要があります。私のすべてのファイルにはこれが必要です。誰かが動作するbashスクリプトを書くことはできますか?APApple-AP01Chocolate-RS33SweetRSChocolate-RS33Sweet

頑張った

for f in *.
do
    name=`echo "$f"|sed 's/ -.*//'`
    letter=`echo "$name"|cut -c1`
    dir="DestinationDirectory/$letter/$name"
    mkdir -p "$dir"
    mv "$f" "$dir"
done

ループを使用する必要があるようですが、forbashでどのように使用するのかわかりません。

ベストアンサー1

これには、実行したいほとんどの作業を含める必要があります。

sortfood.sh

#!/bin/bash


# Puts files into subdirectories named after themselves in a directory.

# add more loops for more ID-criteria

for f in *AP*; do
    mkdir -p "./fruit/$f";
    mv -vn "$f" "./fruit/$f/";
done

for f in *RS*; do
    mkdir -p "./sweet/$f";
    mv -vn "$f" "./sweet/$f/";
done

おすすめ記事