2012-08-24 60 views
0

我有一段時間都在.gz文件中的日誌文件。是否有一個命令我可以用它們一次性將它們全部提取到它們的當前目錄中?我嘗試瞭解壓縮* .gz,但不起作用。還有其他建議嗎?如何在命令行中提取多個.gz日誌文件

+0

請編輯您的問題,包括確切的錯誤信息或其他確切的證據「但不起作用」。在許多/大多數Linux上,您需要使用'gunzip',而不是'unzip'。 'gunzip * .gz'應該可以工作。祝你好運。 – shellter

回答

0

shell sciprt?

#!/bin/ksh 

TEMPFILE=tempksh_$$.tmp           #create a file name 
> $TEMPFILE              #create a file w/ name 

ls -l | grep '.*\.gz$' \           #make dynamic shell script 
     | awk '{printf "unzip %s;\n", $9;}' \      #with unzip cmd for each item 
     >> $TEMPFILE            #and write to TEMPFILE 


chmod 755 $TEMPFILE            #give run permissions 
./$TEMPFILE              #and run it 
rm -f $TEMPFILE             #clean up 

未經測試,但我認爲你的想法....

其實一點小提琴演奏,並得到更簡單...

set -A ARR *.gz; 
for i in ${characters[@]}; do `unzip $i`; done; 
unset ARR; 
+0

非常感謝gb,但那是我的頭,我實際上找到了另一種方式來做到這一點。有一個gunzip命令,似乎有效。我只是這樣做了:gunzip * \。gz – Craig

+0

很好地冷卻任何作品。但不要讓腳本嚇唬你......如果你要做很多cli工作,學習它會讓你的經驗變得更好。 – gbtimmon

相關問題