Linux sed and cut 指令教學
狀況說明 :
批次修改檔案時間戳計,符合稽核原則
檔案結構 :
EX : Compliance-Report-IP-AG-2017-01-02.xlsx
目標指令 :
touch -t 201701021500 Compliance-Report-IP-AG-2017-01-02.xlsx
作法 :
1. 用cut將檔案取出時間的部份
cut -d - -f 5-7 : cut 以 - 為分隔號取第5到7個欄位,得出 2017-01-02.xlsx
2. 用cut取出前10個字元,得出 2017-01-02
cut -b 1-10
3. 用sed將 - 符號刪除
sed 's/-//g' 得出 : 20170102
4. 用sed將檔案結尾加上檔名
sed 's/$/'"$filename"'/' 得出 : 20170102 Compliance-Report-IP-AG-2017-01-02.xlsx
5. 用sed在每一行由前往後數第八個字元之後插入時間 : 1500
sed 's/^......../&1500/' 得出 : 201701021500 Compliance-Report-IP-AG-2017-01-02.xlsx
6. 用sed在檔案每一行前面加入 touch -t 指令
sed 's/^/touch -t/' 得出 : touch -t 201701021500 Compliance-Report-IP-AG-2017-01-02.xlsx
打完收工