Я не вижу никакого способа сделать это из AppleScript, но так как вы все равно работаете в оболочке, я просто постобработаю это: «шестнадцатеричное дерьмо» - это данные RTF, которые вы хотите , Самый простой сценарий, который я могу придумать, это
perl -ne 'print chr foreach unpack("C*",pack("H*",substr($_,11,-3)))'
Объяснение: substr($_,11,-3)
удаляет биты «data RTF
и »\n
(каждый из гильеметов составляет два байта); pack("H*", ...)
упаковывает шестнадцатеричные данные в байтовый поток; unpack("C*", ...)
распаковывает байтовый поток в массив символьных значений; print chr foreach ...
преобразует каждое целое число в массиве в соответствующий ему символ и печатает его; а параметры -ne
оценивают сценарий, заданный для каждой строки, причем эта строка неявно хранится в $_
. (Если вы хотите, чтобы этот скрипт находился в своем собственном файле, просто убедитесь, что строка shebang имеет значение #!/usr/bin/perl -ne
.) Затем запустите
osascript -e 'the clipboard as «class RTF »' | \
perl -ne 'print chr foreach unpack("C*",pack("H*",substr($_,11,-3)))'
даст вам необработанный вывод RTF.