Rename
Gunzip多個文件並重命名它們
我想知道是否可以
gunzip
使用一個命令/腳本來處理多個文件並重命名它們。我有一堆格式的文件:
test.20120708191601.DAT.3599502593.gz test.20120708201601.DAT.99932140.gz test.20120708204600.DAT.1184686967.gz test.20120708212100.DAT.824089664.gz test.20120708215100.DAT.1286044098.gz test.20120708222100.DAT.1414234861.gz
我需要
gunzip
他們並刪除 , 之後的所有內容.DAT
,格式為:test.20120708191601.DAT test.20120708201601.DAT test.20120708204600.DAT test.20120708212100.DAT test.20120708215100.DAT test.20120708222100.DAT
嘗試這個:
for file in *.gz; do gunzip -c "$file" > "${file/.DAT*/.DAT}" done
該方法使用
gunzip
’ 選項將未壓縮的流輸出到標準輸出 (-c
),因此我們可以將其重定向到另一個文件,而無需第二次重命名呼叫。重命名是在文件名變數本身上完成的,使用bash
替換(匹配任何通配模式.DAT*
並將其替換為.DAT
)。循環本身只是遍歷目前目錄中名稱以 . 結尾的文件.gz
。