日付を指定してhatena-diary-modeの投稿用にカレントディレクトリのHTMLファイルの内容を一時ファイルにまとめる

for f in `ls -l *.html|grep '5  6'|awk '{print $9;}'`; do
echo "*${f}" >> a; cat $f >> a;
done

 単純にls -lの出力結果を利用しているので、環境によってはうまくいかないと思います。少なくともCygwinでは修正の必要がありそうです。この日付というのはファイルの作成日時あるいは更新日時になるはずです。細かい指定をする場合はlsコマンドではなく、findコマンドを使い、atimeなどのオプションを使った方がよさそうです。

参考:Y’s Weblog F-Site findコマンドのatimeとctimeとmtime http://ysweb.blog116.fc2.com/blog-entry-5.html

広告

hatena-diary-modeの投稿用にカレントディレクトリのHTMLファイルの内容を一時ファイルにまとめる

for f in `ls -l *.html|sed -e "s/^.* [0-9][0-9]\:[0-9][0-9] \(.*\)\.html/\1/"`; do
echo "*${f}" >> a; cat "${f}.html" >> a;
done

 一応ファイル名はHTMLの拡張子をつけたものを対象にしています。ファイル名の拡張子を除いた部分を、エントリのタイトル名にし、続けて本文を読み込むという処理を繰り返しています。hatena-diary-modeでは、行頭に*をつけるとそれが見出しになるからです。

 Emacsのhatena-diary-modeを前提にしていますので、hatena-diary-modeのバッファで、一時ファイルの内容を読み込み、C-c C-pで全部投稿されますが、Hatena::Diaryでは一日あたりの投稿データ量に制限があり、警告もないまま切り捨てになってしまうので、要注意です。