압축 및 압축 해제된 동일한 이름의 중복 파일을 검색하는 방법은 무엇입니까?
다음을 사용하여 초기 검색을 수행할 수 있다는 것을 알고 있지만 일부 중복된 파일 용어를 입력하는 방법을 잘 모르겠습니다...
find / -iname \*.zip
답변1
현재 디렉터리에서 모든 파일을 찾고 이름은 같지만 파일 이름 접미사가 없는 파일이 .zip
있는지 확인한다고 가정해 보겠습니다..zip
find . -type f -iname '*.zip' -exec sh -c '
for a do
n="${a%.zip}"
[ -e "$n" ] && printf "%s\n" "$n"
done' sh {} +
디렉토리에는 다음이 포함됩니다.
file
file.zip
file2.zip
file3
file3.zip
위의 명령은 출력됩니다
./file
./file3
이는 .zip
모든 파일을 찾고, 발견된 모든 파일에 대해 각 이름에서 확장자를 차례로 제거하고 새 이름이 존재하는지 확인하는 짧은 쉘 스크립트를 실행하여 수행됩니다.
아니면 조금 더 짧게,
find . -iname '*.zip' -exec sh -c '[ -e "${0%.zip}" ]' {} ';' -print
.zip
이것은 또한 도우미 쉘 스크립트를 사용하지만 접미사 없이 파일 이름이 있는지 테스트합니다 . 접미사가 없는 이름이 있으면 zip 파일의 경로 이름이 출력됩니다.
또한 관련될 수 있습니다: