한 단계로 여러 확장 속성(모두는 아님)을 제거합니다.

한 단계로 여러 확장 속성(모두는 아님)을 제거합니다.

예를 들어, 세 가지 확장 속성이 있는 파일이 있습니다.

com.apple.FinderInfo
com.apple.metadata:_kMDItemUserTags
com.apple.metadata:kMDItemFinderComment

다음을 사용하여 처음 두 개를 제거 할 수 있습니다

xattr -d com.apple.FinderInfo file.txt
xattr -d com.apple.metadata:_kMDItemUserTags file.txt

xattr그러나 나는 그것을 여러 번 호출하지 않고 다음과 같이 사용하고 싶습니다 .

xattr -d \( com.apple.FinderInfo, com.apple.metadata:_kMDItemUserTags \) file.txt
xattr -d com.apple.FinderInfo -d com.apple.metadata:_kMDItemUserTags file.txt

가능합니까?

답변1

xattr -d attribute1 -d attribute2 filename글쎄요, 지원된다면 실행할 수 있을까요 xattr? 이는 문서가 약간 잘못되었음을 의미하지만 getopt 기반 프로그램에는 종종 이 문제가 있습니다.

테스트해보자:

테스트할 MacOS는 없지만 테스트할 수 있습니다.xattr도구의 원본 소스 코드, 모든 기능을 제거하여내 버전Linux에서 컴파일하고 삭제한 내용을 인쇄합니다.

슬프게도,

./xatrr -d foo -d bar foo                                                                                                                                                                               
xatrr: [Errno 2] No such file or directory: 'bar'

따라서 이것은 선택 사항이 아닙니다.

괜찮은:

for attr in attribute1 attribute2 do; xattr -d ${attr} filename; done

(더 많은 도구에 의존하지 않고) 내가 제공할 수 있는 최고입니다.

관련 정보