たとえば、3つの拡張属性を持つファイルがあります。
com.apple.FinderInfo
com.apple.metadata:_kMDItemUserTags
com.apple.metadata:kMDItemFinderComment
以下を使用して最初の2つを削除できます
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
(より多くのツールに依存せず)私が提供できる最高です。