我想寫一個腳本來從OS X下使用xattr在OS X上下載的磁盤映像中提取原始下載URL,以便我可以重命名它們,但仍然可以輕鬆地獲取其原始名稱參考。如果我打印xattr十六進制輸出的字符串表示
xattr -p com.apple.metadata:kMDItemWhereFroms *.dmg
給
62 70 6C 69 73 74 30 30 A1 01 5F 10 4F 68 74 74
70 3A 2F 2F 61 64 63 64 6F 77 6E 6C 6F 61 64 2E
61 70 70 6C 65 2E 63 6F 6D 2F 4D 61 63 5F 4F 53
5F 58 2F 6D 61 63 5F 6F 73 5F 78 5F 31 30 2E 36
2E 31 5F 62 75 69 6C 64 5F 31 30 62 35 30 34 2F
30 34 31 35 30 37 33 61 2E 64 6D 67 08 0A 00 00
00 00 00 00 01 01 00 00 00 00 00 00 00 02 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 5C
的URL開始於14字節(:
此命令打印給定的文件是從下載的URL的十六進制表示,作爲一個例子正確計數),並終止NULL。我怎樣才能讓我得到一個字符串格式化輸出這個字符串如下:
http://adcdownload.apple.com/Mac_OS_X/mac_os_x_10.6.1_build_10b504/0415073a.dmg
(不用擔心,這個鏈接不起作用,除非你登錄到ADC)
...本質上,Finder將在「獲取信息」中顯示同樣的內容。我試着將xattr的輸出傳遞給xxd,但我不確定如何指定偏移量,以便字符串從正確的位置開始。