Necesita ayuda para crear subdirectorios para almacenar archivos con fechas en ellos

Necesita ayuda para crear subdirectorios para almacenar archivos con fechas en ellos

Nuevo en este foro, pero no nuevo en RHEL o scripting. Sin embargo este me molesta un poco. Tengo los siguientes archivos:

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

Quiero almacenarlos en directorios como este:

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

También me gustaría conservar el nombre del archivo actual al colocarlo en los directorios. Además, me gustaría hacer esto con bash.

¿Alguna idea?

Respuesta1

Aquí hay tres archivos,

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

Utilice la siguiente línea en su terminal,

$ 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

A continuación, mira el árbol,

$ 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

información relacionada