コマンドラインのキー操作に慣れると、いろんなことをコマンドラインで行いたくなりますが、読書もその一つです。
青空文庫の夏目漱石の小説「こころ」をダウンロードして読みたいと思います。
~$ sudo apt-get install unzip ~$ wget http://www.aozora.gr.jp/cards/000148/files/773_ruby_5968.zip ~$ ls 773_ruby_5968.zip ~$
zip圧縮されていますので、unzipします。unzipコマンドがなければapt-get installでインストールしておきます。また、文字コードをnkfで確認しておきます。
~$ apt-get install unzip ~$ unzip 773_ruby_5968.zip ~$ nkf --guess kokoro.txt Shift_JIS (CRLF) ~$
Shift_JISでした。linuxのコマンドラインで読むためにUTF-8に変換しましょう。
~$ nkf -u kokoro.txt > kokoro_utf8.txt ~$ nkf --guess kokoro_utf8.txt UTF-8 (CRLF)
これで文字コードがUTF-8になりました。小説が読めるか一部を抽出してみます。
~$ sed -n 100p kokoro_utf8.txt 先生は何とも答えなかった。しばらくしてから、「私のは本当の墓参りだけなんだから」といって、どこまでも墓参《ぼさん》と散歩を切り離そうとする風《ふう》に見えた。私と行きたくない口実だか何だか、私にはその時の先生が、いかにも子供らしくて変に思われた。私はなおと先へ出る気になった。 ~$
さっそく読んでみましょう。
せっかくなので、bashを使ってEnterキーでスクロールするようにしておきます。
~$ for i in `seq 23 1595`;do echo -e "\n\n\n\n\n";sed -n ${i}p kokoro_utf8.txt ;read;done
上記のコマンドの23、1595という数字は、テキストの23行目〜1595行目の意味です。
前行と区別するために、echoで改行をたくさんいれています。
readコマンドはEnterキーの入力まちを行うために使用しています。
結果は以下の画像のようになります。
コメント