Linux sed and cut 指令教學

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

打完收工