日付を含むファイルを保存するためのサブディレクトリの作成についてサポートが必要です

日付を含むファイルを保存するためのサブディレクトリの作成についてサポートが必要です

このフォーラムは初めてですが、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

ここに3つのファイルがあります。

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

ターミナルで次のワンライナーを使用します。

$ for i in *.msg;do mkdir -p $(awk -F- '{print $1"/"$2"/"$3}' <<< $i) && mv $i $(awk -F- '{print $1"/"$2"/"$3"/"$0}' <<< $i); done

次に木を見てください。

$ tree
.
└── 2019
    ├── 05
    │   ├── 01
    │   │   └── 2019-05-01-00.34.00.msg
    │   └── 02
    │       └── 2019-05-02-00.36.00.msg
    └── 06
        └── 14
            └── 2019-06-14-01.38.00.msg

6 directories, 3 files

関連情報