다른 디렉토리에서 중복 파일 찾기

다른 디렉토리에서 중복 파일 찾기

이름이 다음과 같은 파일이 있습니다.f{number}.ext

다른 디렉토리에는 디렉토리 목록이 있습니다.

  • 001
  • 002
  • 003
  • ....

각 디렉토리에는 파일 목록이 포함되어 있습니다.

  • f001.ext
  • f002.ext
  • ...

파일 이름은 각 디렉터리에서 반복되지만 이들은 서로 다른 파일입니다. f{number}.ext참조된 디렉터리 목록에서 이 파일( )을 찾아 루트 디렉터리 이름을 가져와야 합니다 . 예를 들어 003파일을 찾을 수 없으면 메시지를 인쇄해야 합니다.

fdupes이 작업에 사용할 수 있나요 ?

답변1

다음 bash 스크립트를 사용할 수 있습니다.

#!/bin/bash
for iNumb in '001' '002' '003' '004' '005'; do
  myFile=`ls */f${iNumb}.ext 2>&1`

  if [ "${myFile:0:2}" == "ls" ]
  then
    echo "File f${iNumb}.ext: File not found"
  else
    echo "File f${iNumb}.ext:" `dirname ${myFile}`
  fi
done
  • 2>&1파일을 찾을 수 없을 때(예: ) ls 오류 메시지를 처리 합니다 ls: cannot access */f005.ext: No such file or directory.
  • if문자열이 myFilean으로 시작하는지 ls(그러면 오류가 발생했습니다) 아닌지(그런 다음 파일을 찾았습니다) 테스트 합니다.
  • dirname디렉토리를 반환합니다. basename파일 이름을 반환합니다.

관련 정보