【Mac】溜まった safari のタブのリンクを書き出す
Safari でネットを閲覧していると、いつの間にタブだらけになっている、というのはよくあると思う。
このタブを閉じられない、という問題に直面するのは筆者だけだろうか。
閉じようと思えばもちろん閉じられる。しかし閉じたら最後、二度とこのページにたどり着けない気がして、閉じられないのである。これはなんだろう。心の病だろうか。
タブのタイトルと URL を書き出す
重要なページならブックマークすればいい。
でもやたらとブックマークすると、ブックマーク欄が散らかってしまう。
そもそも、本当にそんな大事なページなのかも、もはや自分では判断できない。
タブばかりが増えていく。
いっそう、タブで開いたページの URL をすべて書き出してしまえば良いのではないか、と考えた。
ちょいとググったら、すっげーいいスクリプトを発見した。
🔗 tkの備忘録 — [AppleScript]Safariの全タブのタイトルとURLを取得
素晴らしいじゃない。
ということで、上記のスクリプトをお借りして、シェルスクリプトにしてみた。
なんでシェルスクリプトかっていうと、筆者は AppleScript、ほとんどわかんないからである。
シェルスクリプト
📝 tabs.sh
#!/bin/sh
fname=$(echo 'tabs'$(date +%Y-%m-%d-%H%M%S)'.html')
echo '<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<title></title>
<body>' > ~/Desktop/$fname
osascript <<EOF
set thePath to ("/Users/USERNAME/Desktop/tabs.txt")
set outputFile to (POSIX file thePath)
property cr : ASCII character (10)
tell application "Safari"
set fd to (open for access outputFile with write permission)
repeat with theTab in (tab of every window)
set theContents to ("● <a href=\"" & (URL of theTab) & "\" target=\"_blank\">" & (name of theTab as string) & "</a><br>" & cr)
write theContents to fd
end repeat
close access fd
end tell
EOF
cat ~/Desktop/tabs.txt | nkf -w >> ~/Desktop/$fname
echo '</body>
</html>' >> ~/Desktop/$fname
mv ~/Desktop/tabs.txt ~/.Trash/tabs$(date +%Y-%m-%d-%H%M%S).txt
open -a 'Safari' ~/Desktop/$fname
実行すると、Safari の全タブのページタイトルと URL を取得して、リンクを作成し、デスクトップに html ファイルとして出力する。
set thePath to
にあるUSERNAME
は適宜書き直して使用する。
また、nkf が必要だ。
nkf は Homebrew で簡単にインストールできる。
brew install nkf
頑張ってタブを閉じる
ここまでやったら、さすがにタブを閉じられるはず。
閉じられるよな、と自らの心に問いかけ、頑張って閉じてみた。
だいぶすっきりした。
っていうか AppleScript 勉強しよう、いつか。
最近のコメント