- ローカルのKindleを更新し、ライブラリの書籍一覧を最新化する
- Macの場合、以下のファイルパスに全ての手持ち電子書籍の情報が入っている
/Users/ユーザー名/Library/Application Support/Kindle/Cache/KindleSyncMetadataCache.xml
- タイトル抽出のため、任意の作業ディレクトリにコピーする
cp /Users/ユーザー名/Library/Application Support/Kindle/Cache/KindleSyncMetadataCache.xml 作業ディレクトリ
- 作業ディレクトリで以下のコマンドを使うことでKindleのタイトルのみを格納したテキストファイルが生成できる
cat KindleSyncMetadataCache.xml | xmllint --format --encode utf-8 - | grep "<title.*>\(.*\)<" | grep -o ">\(.*\)<" | sed 's/[><]//g' | sed 's/---//g' | sed '/^$/d' | sort > タイトル保存.txt
xmllint --format --encode utf-8 -
- 読み込んだxmlの整形と日本語の文字化けを防ぐためのエンコード指定
grep "<title.*>\(.*\)<"
- xmlのうちに本のタイトルが入っているタグを抽出する
grep -o ">\(.*\)<"
>本のタイトル<
形式でさらに抽出する
sed 's/[><]//g' | sed 's/---//g' | sed '/^$/d'
>
、<
を削除する- 変換後に残る
----------
という文字列を削除する - 空行を削除する