
*.pages
, *.key
및 3가지 유형의 파일이 있습니다 *.numbers
.
- 손상되지 않은 파일:모든 것이 괜찮아.
- 손상된 파일 유형-I:해당 프로그램이 텍스트를 표시할 수 있지만 모든 이미지가 손실되는 경우.
- 손상된 파일 유형-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.