Eu tenho um script AppleScript que executa um teste de estresse. Parte do teste é abrir, salvar e fechar determinados arquivos. De alguma forma, os arquivos selecionaram alguns "atributos estendidos" que proíbem que os arquivos sejam salvos. Isso faz com que o teste de estresse falhe.
Como removo os atributos estendidos?
macos
attributes
doma
fonte
fonte
Respostas:
Use o
xattr
comando Você pode inspecionar os atributos estendidos:e use a
-d
opção para excluir um atributo estendido:você também pode usar a
-c
opção para remover todos os atributos estendidos:xattr -h
mostrará as opções da linha de comando e o xattr tem uma página de manual .fonte
-c
não está funcionando para mim (OS X 10.6.8).-d
também não teve nenhum efeito, embora não tenha reclamado. Eu tive que nomear explicitamente cada atributo estendido da seguinte forma:xattr -rd <attrname> <folder/file>
(exclui recursivamente). Para descobrir os atributos presentes (provavelmente os mesmos atributos em toda a árvore de diretórios), usexattr <dir/file>
como na resposta acima.xattr -c
funciona bem para mim (e retirou com êxito todos os metadados).Removendo um único atributo em um único arquivo
Veja a resposta de Bavarious.
Para remover todos os atributos estendidos em um único arquivo
Use
xattr
com o-c
sinalizador para "limpar" os atributos:Para remover todos os atributos estendidos em muitos arquivos
Para remover recursivamente atributos estendidos em todos os arquivos em um diretório, combine o
-c
sinalizador "clear" com o-r
sinalizador recursivo:Uma dica para usuários do Mac OS X
Tem um longo caminho com espaços ou caracteres especiais?
Abra
Terminal.app
e comece a digitarxattr -rc
, inclua um espaço à direita e, em seguida, arraste o arquivo ou a pasta para aTerminal.app
janela e ele adicionará automaticamente o caminho completo com o escape adequado.fonte
-c
falha no Mac OS X 10.5:option -c not recognized
. Usamos um para testar no PowerPC da Apple. Parece que a versão de nível inferior do OS X suporta-l
,-p
,-w
e-d
.. textClipping
como os descritos em apple.stackexchange.com/questions/301871/…Tente usar:
Isso cuida da remoção recursiva do atributo traquinas em todos os lugares.
fonte
Outra abordagem recursiva:
fonte
-c
falha no Mac OS X 10.5:option -c not recognized
. Usamos um para testar no PowerPC da Apple. Parece que a versão de nível inferior do OS X suporta-l
,-p
,-w
e-d
.Resposta (arquivos individuais)
1. Mostre as teclas para usar na seleção.
2. Escolha uma chave para excluir.
3. Mostre as chaves novamente para ver se foram removidas.
4. Por fim, REMOVER TODAS as teclas de um arquivo específico
Resposta (Todos os arquivos em um diretório)
1. Mostre as teclas para usar na seleção.
2. Remova uma chave específica para TODOS OS ARQUIVOS em um diretório
3. Remova TODAS as teclas de CADA ARQUIVO em um diretório
Erros
Eu queria abordar as pessoas do erro. Porque os erros também me deixaram louco ... Em um mac, se você instalar
xattr
em python, seu ambiente poderá ter um problema.Portanto, em um dos exemplos em
-c
que não funcionará no xargs, é porque no bash você padroniza a versão não-python.Funciona com
-c
NÃO trabalha com
-c
Meu Shell / Terminal usa como padrão / usr / local / bin / xattr porque my
$PATH
/usr/local/bin:
é anterior ao/usr/bin:
que acredito ser o padrão.Eu posso provar isso porque, se você tentar desinstalar o python
xattr
, verá:Soluções alternativas
Para corrigir
option -c not recognized
erros.xattr
você possa ter:pip3 uninstall xattr
Terminal
janelas e saiaTerminal
Terminal
janela.xattr
comando novamente e agora deve funcionar.OU
para qualquer
Shell
comando emTerminal
Exemplo:
A versão do Python
xattr
não lida com imagens:Páginas de manual
PÁGINA DE HOMEM para OSX xattr
PÁGINA DE HOMEM para Python xattr VERSÃO 0.6.4
Obrigado pela leitura!
fonte