2017-04-08 29 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'解決了我的問題 –