需要協助建立子目錄來儲存帶有日期的文件

需要協助建立子目錄來儲存帶有日期的文件

這是這個論壇的新手,但對於 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

這是三個文件,

$ 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

相關內容