find 명령의 출력을 사용하여 cmd의 압축을 풀고 싶습니다.

find 명령의 출력을 사용하여 cmd의 압축을 풀고 싶습니다.

출력을 사용해야합니다

find / -type f -printf '%T@ %p\n' | sort -k1,1nr | head -1

명령은 쉘 스크립트의 압축 해제 명령입니다. 도와주세요

답변1

.zip디렉토리 아래 어딘가에서 최근 수정된 파일(파일 이름 접미사 포함)을 추출합니다.$dir zsh쉘을 사용하다:

unzip $dir/**/*.zip(.Dom[1])

(.Dom[1])끝에 있는 glob 한정자는 이전 패턴의 동작을 수정하여 일반 파일( .)에만 일치하고, 즉 디렉터리 등은 일치하지 않으며 숨겨진 이름( , 의 셸 옵션과 유사 D)에도 일치합니다. 결과를 수정 시간의 내림차순으로 정렬하고 첫 번째 결과만 선택합니다. 역순으로 정렬하려면 소문자 대신 대문자를 사용하세요.dotglobbashom[1]Oo

이 패턴은 **쉘 옵션이 설정된 경우와 유사하게 작동합니다. 즉, 하위 디렉터리를 "재귀적으로" 일치시킵니다.bashglobstar

에서 bash이 작업을 수행할 수 있습니다.

zsh -c 'unzip $1/**/*.zip(.Dom[1])' zsh "$dir"

일부 디렉토리의 경우 $dir.

관련 정보