2016-10-28 2 views

답변

2

목록 파일 옵션을 선택한 다음 -p 옵션을 사용하여 하나씩 추출하십시오.

unzip -l -q -q temp.zip | awk '{print $NF}' | while read file 
do 
    unzip -p temp.zip "${file}" > "${file%.*}.$(date +%s).${file##*.}" 
done 

  • -q -q 옵션은 (해석하기 쉬운 열에서) 자동 출력을 요청합니다.
  • awk$NF 마지막 열을 가리 킵니다.
  • ${file%.*}은 파일 이름 뒤에서 .*의 가장 짧은 일치를 삭제합니다.
  • ${file##*.}*.의 가장 긴 일치 항목을 파일 이름 앞에 삭제합니다.
  • $(date +%s) 출력 초 1970-01-01 0시 0 분 0 초 (UTC)부터
  • 이 뭔가를 시도 할 수 있습니다
+0

감사합니다. – ConorHolt

0

;

#!/bin/bash 
unzip temp.zip 
for n in $(unzip -Z -1 "temp.zip"); do 
    e=${n#*.} 
    fn="${n%.*}" 
    DATE=`date +%s` 
    newFileName="$filename.$DATE.$e" 
    mv "$n" "$newFileName" 
done 
+0

감사합니다. – ConorHolt