У меня есть файл, расширение которого является .log, хотя мне установили этот конкретный файл для открытия в TextWrangler вместо Console.app (использующий "Открытый с" в панели Get Info Средства поиска).
У меня есть сценарий оболочки Bash (.sh
) это использует SED для замены некоторого текста в файле, встроенном, как так:
sed -i "" "s_find_replace_g" "$FILENAME"
Проблема состоит в том, что после выполнений сценария, "Открытый с" ассоциацией не стал; файл открывается Console.app снова. Есть ли любой путь вокруг этого в сценарии, как задержание соответствующих метаданных после sed
строка?
Это не "чистое" решение для Bash, но затем, метаданными Mac не является чистый Unix также. Я называю AppleScript встроенным:
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