손상된 *.pages, *.key 및 *.numbers 파일을 찾기 위해 "find" 명령을 만드는 방법은 무엇입니까?

손상된 *.pages, *.key 및 *.numbers 파일을 찾기 위해 "find" 명령을 만드는 방법은 무엇입니까?

*.pages, *.key및 3가지 유형의 파일이 있습니다 *.numbers.

  1. 손상되지 않은 파일:모든 것이 괜찮아.
  2. 손상된 파일 유형-I:해당 프로그램이 텍스트를 표시할 수 있지만 모든 이미지가 손실되는 경우.
  3. 손상된 파일 유형-II:해당 프로그램이 더 이상 파일을 열 수 없는 경우.

두 개의 파일을 만들고 싶습니다 .txt. 하나는 유형 I 손상이 있는 모든 파일의 경로를 나열하고 다른 하나는 유형 II 손상이 있는 모든 파일의 경로를 나열합니다.

find나에게 파일을 제공하는 이 명령을 생각해 냈습니다.유형-II.txt유형 II 손상 파일의 전체 경로:

find . \( -name "*.pages" -or -name "*.numbers" -or -name "*.key" \) -and -size 102c > type-II.txt

그리고 나는 이 다른 명령을 통해 find나에게 파일을 제공했습니다.유형-I-및-II.txt유형 I 및 유형 II 손상 파일의 전체 경로 포함

find . -type f -name "Properties.plist" > type-I-and-II.txt

파일을 제공하기 위해 터미널에서 사용할 명령은 무엇입니까?유형-I.txt유형 I 손상된 파일의 경로만 나열합니까?

답변1

다음의 파일유형-II.txt목록은 경로와 파일 이름입니다(예: ./document.pages. 동일한 파일이 있는 경우유형-I-및-II.txt목록에는 로 표시됩니다 ./document.pages/Metadata/Properties.plist.

이 명령을 사용하여 생성유형-I.txt파일 목록은 다음과 같습니다.유형-I-및-II.txt에 나열되지 않은 것유형-II.txt:

sed 's|/Metadata/Properties.plist$||' type-I-and-II.txt | sort - type-II.txt | uniq -u > type-I.txt

sed명령은 다음의 파일 이름에서 "/Metadata/Properties.plist"를 제거합니다.유형-I-및-II.txt목록. 명령 의 출력이 명령 sed에 전달됩니다 sort. 이 sort명령은 두 파일을 모두 정렬된 목록으로 결합합니다. 이 uniq명령은 정렬된 목록에서 한 번 나타나는 파일, 즉 정렬된 목록에 나열된 파일만 선택합니다.유형-I-및-II.txt하지만 안에는 없어유형-II.txt.

관련 정보