Thiết lập mở với siêu dữ liệu từ một tập lệnh Bash


0

Tôi có một tệp có phần mở rộng là .log, mặc dù tôi có tệp cụ thể này được đặt để mở trong TextWrangler thay vì Console.app (sử dụng "Mở bằng" trong bảng điều khiển Get Info).

Tôi có một tập lệnh shell Bash ( .sh) sử dụng SED để thay thế một số văn bản trong một tệp, nội tuyến, như vậy:

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

Vấn đề là sau khi tập lệnh chạy, liên kết "Mở bằng" không còn nữa; tệp sẽ mở lại với Console.app. Có cách nào khác trong kịch bản này, như đặt lại siêu dữ liệu phù hợp sau seddòng không?

Câu trả lời:


0

Đây không phải là giải pháp Bash "thuần túy", nhưng sau đó, siêu dữ liệu Mac cũng không phải là Unix thuần túy. Tôi đang gọi nội tuyến 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.