I just want to mark every item in my Reading List as read. All 200+ of them. Is there a CLI solution, or a way to edit the ~/Library/Safari/Bookmarks.plist
file to mark them as read?
1 Answer
The XML tag that determines whether the article has been read is DateLastViewed
.
I think the simplest, most user friendly way to do it (for most people, anyway) is with TextEdit find-and-replace.
First, though, you're going to have to convert the plist file from binary to XML with this command (Enter it at the prompt in /Applications/Utilities/Terminal.app): plutil -convert xml1 'Library/Safari/Bookmarks.plist'; open 'Library/Safari/Bookmarks.plist' -a TextEdit
Don't worry if it gives you an error; that just means it has already been converted.
The command will also open up the newly converted file in TextEdit.
Find-and-replace
<key>DateAdded</key>with
<key>DateLastFetched</key><date>2012-10-13T12:15:04Z</date><key>DateLastViewed</key><date>2012-10-13T12:15:04Z</date><key>DateAdded</key>What this does is puts the DateLastViewed (and DateLastFetched, just to be safe) before every time it finds a DateAdded. I don't know if it actually uses the dates for anything, but you can change them if you want.