В новинку для этого форума, однако не в новинку для 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>
Я хотел бы сохранить текущее имя файла также при размещении их в каталоги. Кроме того, я хотел бы сделать это с ударом.
Какие-либо мысли?
Вот три файла,
$ 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"/"[111]}' <<< $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