Definindo metadados “Open With” a partir de um script Bash

0

Eu tenho um arquivo cuja extensão é .log, embora eu tenha esse conjunto de arquivos específico para abrir no TextWrangler em vez de Console.app (usando "Abrir com" no painel Obter Informações do Finder).

Eu tenho um script de shell Bash ( .sh ) que usa o SED para substituir algum texto em um arquivo, inline, assim:

sed -i "" "s_find_replace_g" "$FILENAME"

O problema é que, depois que o script é executado, a associação "Abrir com" desaparece; o arquivo é aberto novamente com o Console.app. Existe alguma maneira de contornar isso no script, como a configuração dos metadados apropriados após a linha sed ?

    
por Dov 28.04.2011 / 21:52

1 resposta

0

Não é uma solução Bash "pura", mas os metadados do Mac também não são puros para o Unix. Estou chamando o AppleScript inline:

sed -i "" "s_find_replace_g" "$FILENAME"

osascript <<-EOF
    set afile to "${FILENAME}"
    set default_app to (path to application "TextWrangler") as text
    tell application "System Events"
        set default application of disk item afile to default_app
    end tell
EOF
    
por 28.04.2011 / 23:22