例如,我有一个具有三个扩展属性的文件:
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
是我能提供的最好的(不依赖更多工具)。