Linux
使用最新文件的時間戳創建目錄
我正在嘗試根據目錄中兩個最新文件的時間戳創建一個目錄,然後將這兩個文件複製到新創建的目錄中。所以例如
-rw-r--r-- 1 root root 0 Sep 24 12:01 a -rw-r--r-- 1 root root 0 Sep 24 12:01 b
我想創建一個名為的目錄並將其
20190924
複製到目前目錄中最新文件的目錄中a``b
此 zsh 腳本將選取目前目錄中的兩個最新(普通)文件,收集最新文件的修改時間戳,將該時間戳轉換為 YYYYmmdd 格式,創建目錄,然後將這兩個最新文件複製到該目錄中:
#!/bin/zsh newest2=( *(.om[1,2]) ) dsec=$( stat -c %Y "${newest2[1]}" ) dnam=$( date -d @"$dsec" +%Y%m%d ) mkdir "$dnam" cp -- "${newest2[@]}" "$dnam"
第一行,assigning使用限定符(在括號中)
newest2
擴展萬用字元。*
預選賽要求:
.
– 普通文件om
– 按修改時間排序(從最新到舊集)[1,2]
– 對列表進行切片以僅包含元素 1 到 2然後我們要求
stat
以秒為單位的最新文件的修改時間;該日期被傳遞給 GNUdate
,它以我們想要的格式返回目錄名稱。創建目錄後,該cp
命令將兩個文件複製到該目錄中。