Linuxゲリラ戦記

ダウンロードしたファイルの中身を端末(コンソール)に表示しよう。

左を向いているペンギンみたいなキャラクター、ナックス

47.ダウンロードしたファイルの中身を端末(コンソール)に表示する

ナックス「こんにちは。画像収集するシェルスクリプトを作ってみたい。今回は第12回」

ナックス「今回はダウンロードしたファイルの中身を端末(コンソール)に表示する、ということをやります」

デビー君「端末(コンソール)に表示する、ってどういう意味?」

ナックス「案ずるより産むが易し。実際に一緒にやって見ましょう」

ナックス「前回(46.ファイル名を指定してダウンロードしてみる)は『wget -O 好きな名前のファイル名 "ダウンロードするファイル"』みたいにコマンドを打つことで、好きな名前のファイルでファイルをダウンロードしましたよね?」

wget -O 好きな名前のファイル名 "ダウンロードするファイル"

デビー君「うん」

ナックス「ダウンロードしたファイルの中身を端末(コンソール)に表示するには-O(ハイフンオー)オプションに-(ハイフン)を指定すると良いそうです。つまり『wget -O - "ダウンロードするファイル"』のようにコマンドを打てば良いそうです」

wget -O - "ダウンロードするファイル"

デビー君「『好きな名前のファイル名』の代わりに『-(ハイフン)』を使うだけで良いんだね」

ナックス「そうです。つまり、前回(46.ファイル名を指定してダウンロードしてみる)にabcというファイル名でダウンロードするように書き換えたシェルスクリプトのabcの部分を-に書き換えるだけで良いのです」

ナックス「早速やっていきましょう。まずCUI環境を立ち上げて『cd imagework』でimageworkディレクトリに移動します」

$ cd imagework/

ナックス「次に『nano imageget.sh』とコマンドを打って、nanoでimageget.shファイルを開きます」

$ nano imageget.sh

ナックス「前回(46.ファイル名を指定してダウンロードしてみる)作成した内容が書かれているので、abcの部分を削除して、代わりに-を書き、『-O -(ハイフンオー ハイフン)』となるようにします」

#!/bin/sh
wget -O - "https://linuxgerira.com/imagesearch.php?q=%E5%85%AC%E5%BC%8F%E5%A3%81%E7%B4%99&page=1"

nanoを起動して-O -になるように編集する

ナックス「書き換え終わったらCtrlキーを押しながらOキーを押して、Enterキーを押して保存し、Ctrlキーを押しながらXキーを押してnanoを終了してください」

ナックス「さて、『./imageget.sh』とコマンドを打って、今書き換えたシェルスクリプトを実行して見てください」

$ ./imageget.sh

コマンドを実行する1

コマンドを実行する2

デビー君「おおう!?意味不明な文字がCUI環境に大量に表示された!」

ナックス「そうです。今CUI環境に大量に表示された文字は、(検索結果が変わっていないなら)45.シェルスクリプトとはコマンドをまとめて書いたもの46.ファイル名を指定してダウンロードしてみるでダウンロードしたファイルの中身と同じ内容の文字です」

デビー君「ダウンロードしたファイルの中身を端末(コンソール)に表示する、ってこういうこと?」

ナックス「そうです」

ナックス「ちなみに『ls』とコマンドを打ってみて、何か新しいファイルがダウンロードされているかどうか確認して見てもらえますか?」

$ ls

デビー君「確認して見たけど、何か新しいファイルが増えているということは無かった」

ナックス「そうです。wgetコマンドで『-O -』というオプションを使うと、ダウンロードした内容をCUI環境に表示するだけで、何かのファイルに保存するわけでは無いのです」

ナックス「さて、実は作ろうとしている画像収集スクリプトですが、CUI環境に表示したものをコマンドで加工して最終的に画像を収集できるようにする、みたいなコードを書いていく予定です」

ナックス「なので皆さんは『なんでファイルの内容をCUI環境に表示するみたいな意味不明なことをするんだろう?』と考えているかもしれませんが、今日説明したのは結構重要なこと」

ナックス「というわけで次回、48.imgタグの説明