2017-04-08 31 views
0

我一直在试图找出一种方法来递归地删除一些文件的所有xattr,但是,没有一个previous methods似乎工作了;有可能是新引入的bug?递归xattr可怕地失败

$ xattr -rc . 
option -r not recognized 

$ xattr -c . 
option -c not recognized 

..现在最后的压轴!

$ find . -exec xattr -l {} \; 
com.apple.FinderInfo: 
Traceback (most recent call last): 
    File "/usr/local/bin/xattr", line 11, in <module> 
    sys.exit(main()) 
    File "/Library/Python/2.7/site-packages/xattr/tool.py", line 200, in main 
    print(_dump(attr_value)) 
    File "/Library/Python/2.7/site-packages/xattr/tool.py", line 77, in _dump 
    printable = s.translate(_FILTER) 
TypeError: character mapping must return integer, None or unicode 

哦,看它找到了一个xattr淤泥之中...这将是有趣的,知道怎么回事,什么或谁破坏了xattr工具这么惨。我只需递归删除扩展属性,真的!

回答

2

您似乎在/ usr/local/bin/xattr(macOS附带的标准版本是/ usr/bin/xattr)中安装了非标准xattr命令。那些是Python错误,所以也许它是this one?无论如何,它没有使用与标准语法相同的语法,因此安装它会导致混淆;我建议删除它或将其重命名为不同的东西;否则它可能会破坏任何试图使用xattr的脚本(您的或系统)。

+0

删除'/ usr/local/bin/xattr'并保留默认的'/ usr/bin/xattr'解决了我的问题 –