日付を含むファイルを保存するためにサブディレクトリを作成するのに役立ちます。 [閉じる]

日付を含むファイルを保存するためにサブディレクトリを作成するのに役立ちます。 [閉じる]

これはこのフォーラムの新しいものですが、RHELやスクリプトに慣れていません。ところでこれがちょっと気になりますね。次のファイルがあります。

2019-05-01-00.34.00.msg 
2019-05-02-00.36.00.msg
2019-06-14-01.38.00.msg

次のディレクトリに保存したいと思います。

/2019/05/01/<Filename>
/2019/05/02/<Filename>
/2019/06/14/<Filename>

また、ディレクトリに入れるときに現在のファイル名を保持したいと思います。また、bashを使用してこれを実行したいと思います。

どんなアイデアがありますか?

ベストアンサー1

名前を繰り返し、名前を分割して-からmkdir -p存在しない場合は、ディレクトリを作成して最後に移動できます。このような:

for file in *msg; do 
    IFS="-" read -r year month day rest  <<< "$file"
    dir="$year/$month/$day/" 
    mkdir -p -- "$dir"
    mv -- "$file" "$dir"
done

おすすめ記事