safari のブックマークを CLI でアクセスする方法。

How to get a list of URLs from an defined bookmark’s folder in Safari https://apple.stackexchange.com/questions/249212/how-to-get-a-list-of-urls-from-an-defined-bookmarks-folder-in-safari

[makoto@imac2 ~]$ /usr/libexec/PlistBuddy -x -c Print ~/Library/Safari/Bookmarks.plist | head
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Children</key>
	<array>
		<dict>
			<key>Title</key>
			<string>履歴</string>
			<key>WebBookmarkIdentifier</key>
:
:
  • imac2: ~/bin/print-bookmarks.sh
#!/bin/bash
for foldername
do
    /usr/libexec/PlistBuddy -x -c Print ~/Library/Safari/Bookmarks.plist | \
    xmlstarlet sel --net -t -v "//key[.='Title']/following-sibling::string[.='$foldername']/parent::node()//key[.='URLString']/following-sibling::string[1]"
    echo    #print an newline after the last entry
done
[makoto@imac2 ~]$ print-bookmarks.sh hot | head
https://www.ana.co.jp/
http://tadhack.com/2016/mini-japan/?lang=ja
http://dotinstall.com/lessons
http://www.atmarkit.co.jp/ait/articles/1406/10/news031.html
http://jperrin.github.io/centos/2014/09/25/centos-docker-and-systemd/
http://google.github.io/flatbuffers/
http://merita.jp/web-design-tips/07/06.html
http://nelm.io/blog/tag/markdown/
http://azu.github.io/promises-book/
http://www.sagehill.net/docbookxsl/Parameters.html#ParameterSyntax