2012-08-24 2 views
0

.gz 파일에 모두 몇 년 동안의 로그 파일이 있습니다. 이 모든 것을 한 번에 현재 디렉토리에 추출하는 데 사용할 수있는 명령이 있습니까? * .gz 압축을 풀려고했지만 작동하지 않습니다. 다른 제안?명령 줄에서 여러 .gz 로그 파일을 추출하는 방법

+0

정확한 오류 메시지 나 포함하도록 질문을 수정하시기 바랍니다 "그러나 작동하지 않는다"는 다른 정확한 증거. 대부분의/리눅스에서'unzip'이 아니라'gunzip'을 사용해야합니다. 'gunzip * .gz'가 작동합니다. 행운을 빕니다. – shellter

답변

0

셸 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

고마워요.하지만 그건 내 머리 위로가는 길입니다. 실제로 그것을하는 또 다른 방법을 찾았습니다. gunzip 명령이 있는데 그것은 효과가있는 것 같습니다. 방금 했어요 : gunzip * \. gz – Craig

+0

잘 작동해도 좋습니다. 그러나 스크립팅을 두려워하지 마라. 많은 cli 일을 할 수 있다면, 그것이 당신의 천재성을 훨씬 더 좋게 만들 것이다. – gbtimmon

관련 문제