■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■             燃えるUNIX道〜UNIXバカ一代                                  Vol:015                          発行日: 1999年11月03日                        総発行部数:     2752部                           (1999年10月27日現在) ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆PR◆-------------------------------------------------------------------- ●お肉の「いづつ屋」  インターネット販売だけの100名様限定商品を発売!?  おいしいお肉は、やっぱり「いづつ屋」だね。  http://www.tanba-izutsuya.com/ --------------------------------------------------------------------◆PR◆ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆目次◆ ●Web新撰組ニュース ●本文:shellで遊ぼう(その1) ●予告 ●おまけニュース[出会いの掲示板] ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆PR◆-------------------------------------------------------------------- 朗報!「働きたいけど家庭も大切にしたい」「資格取得し転職したい」あなたに! (^o^)  《医療事務》ならピッタリ☆  ◆全国で11・12月生募集中!◆ click< http://a.clickincome.net/md/dk?mid=7554b0fbf99f5ba5ff4c833735dac9db > --------------------------------------------------------------------◆PR◆ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ⇔⇔Web新撰組News⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔  メールを使った新しい遊びを追及する「メールで遊ぼう!」会員数2000名突破!  http://www.web-kyoto.com/vmail/  いますぐ会員登録だ!  Web新撰組メンバー執筆のCGI参考書。  「Perlで作る楽しいCGI」は、エーアイ出版のエーアイムックNo.237。  内容についての御質問は、新撰組ML(http://www.web-kyoto.com/ml/)へ。 ⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔⇔ ●shellで遊ぼう(その1)   今回から数回に渡ってshellを使って遊んでみます。 ◇shellとは。。。   shellは、UNIXの標準インターフェースでありながら、スクリプト言語でもあ るというものです。   今までにも $ cp text1 text2 (R)   なんて説明をして来ましたが、この$を表示し、cpコマンドの入力をうけてcp コマンドを起動してtext1 text2という引数をcpコマンドに渡して。。。という作 業はshellが行っているわけです。   これが、インターフェースとしてのshellです。   スクリプトとしてのshellは、.profileや、/etc/rc(システムによって、異り ますが)あたりにある、スクリプト等がそうです(このシリーズで実際にshellスク リプトを作って行きますので、それを見て頂ければわかると思います)。 ◇複数のコマンドを繋いで見よう(パイプ)   スクリプトを書く前に、先ずは$の画面(コマンドライン上とか云ったりして ますけど、それが正式名称なのかどうかは知りませぬ)でちょっと遊んでみます。   先ず、このようなファイルを用意します。 (ファイル名:sample1) -------------------------- 1gyoume 2gyoume 3gyoume 4gyoume 5gyoume 6gyoume 7gyoume 8gyoume 9gyoume 10gyoume 11gyoume 12gyoume 13gyoume 14gyoume 15gyoume 16gyoume 17gyoume 18gyoume 19gyoume 20gyoume --------------------------   この中から1を含む行を探しだし、それが何行あるのかを調べます。   特定の文字列を含む行を探すには、grepというコマンドを使います。 $ grep "1" sample1 (R)   とすれば、 1gyoume 10gyoume 11gyoume 12gyoume 13gyoume 14gyoume 15gyoume 16gyoume 17gyoume 18gyoume 19gyoume   と表示されます。   行数を数えるコマンドは、wc -lです。 $ wc -l sample1 (R)   とすれば、 20 sample1   と表示されます。   では、これら2つのコマンドを組み合わせて、1を含む行が何行あるかを調べて みましょう。 $ grep "1" sample1 | wc -l (R)   とします。11と表示される筈です。   | はパイプと呼びます。パイプは、前に行った処理の結果を次のコマンドに渡 します。   もうひとつ例をあげてみます。 $ sort -rn sample1 | grep "1" (R)   としてみて下さい。(システムによっては、sort -rvかも知れません) 19gyoume 18gyoume 17gyoume 16gyoume 15gyoume 14gyoume 13gyoume 12gyoume 11gyoume 10gyoume 1gyoume   と表示されましたね。   sort -rnは、数字を逆順に並べ替えるコマンドです。並べ替えたあとに1を含む 行を抽出したわけです。   (sort -rとすれば、1gyoume、が1行目に来ます。1gyoumeの方が19gyoumeより 文字列としては先に並ぶのです)   パイプを使えば、いくつでもコマンドを繋げる事が出来ます。   この場合は行数が少ないので必要ありませんが、行数が多くて1画面に収まら ない場合は、 $ sort -rn sample1 | grep "1" | more (R)   とすれば、moreコマンドを使って1画面を表示した所で表示を止める事が出来 ます。 ◇ファイルに出力してみましょ(リダイレクト)   先程のgrepの結果をファイルに保存したい場合は、こんな風にします。 $ grep "1" sample1 > file (R)   これで、sample1中の1を含む行だけがfileという名前のファイルに保存されま す(その代わり画面には何も表示されません)。   通常、grepの結果は画面に出力されます。この画面に出力(標準出力)をファ イルに出力するように>を使って切り替えました。   リダイレクト(標準入出力きりかえ)は、標準出力(画面)や標準入力(キーボー ド)をきりかえる時に使います。   >は標準出力きりかえ、<は標準入力きりかえです。   >はファイルへの出力以外にも、 $ cat file1 > /dev/fd0 (R)   のようにフロッピーディスクに書き込んだりするのにも使えます(UNIXでは、フロッ ピーディスク等の周辺装置もファイルとして扱います。)。   >>というのもあります。これは追加書き込みを行います。 $ cat sample1 > file (R) $ cat sample1 >> file (R)   とすれば、fileにsample1の中身が2回に渡って書き込まれます。   標準入力のきりかえとしては、こんなのがあります。 $ wc -l sample1 (R)   としたら、 20 sample1   と表示されます。 $ wc -l < sample1 (R)   としたら、 20   と表示されます。   wc -l sample1の場合は、wcコマンドは指定されたファイルの内容の行数を数え てその行数とファイル名を表示します。wc -l < sample1とすれば、sample1の内容 をキーボードから打ち込んだのと同じ事になりますので(wcはsample1ファイルの 内容を数えるのではなくて、標準入力から入力された行数を数える)、ファイル名 は表示されません。 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆予告◆------------------------------------------------------------------ ●次回は、スクリプトを作りましょう。 ------------------------------------------------------------------◆予告◆ --------------------------------------------------------------------◆PR◆ ■■■キャリアアップを実現するためのエージェント■■■ ■若手システムエンジニア大募集!!スカウト情報公開中■ click< http://a.clickincome.net/md/dk?mid=a485956d5c74d7822918aa2bda5445bc > --------------------------------------------------------------------◆PR◆ ◆おまけニュース◆-------------------------------------------------------- ●出会いの広場「みんなの掲示板」登場!  Web新撰組の「メールで遊ぼう!」に出会いの掲示板が登場しました。  様々なジャンルの掲示板でお友達を作ろう!という企画です。  ぜひ一度覗いて下さいませませ。  http://www.web-kyoto.com/vmail/ --------------------------------------------------------◆おまけニュース◆ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ このメールマガジンは、 Subject部が、燃えるUNIX道〜UNIXバカ一代【Vol.番号】は、まぐまぐ様にて、 ( http://www.mag2.com/ ) Subject部が、燃えるUNIX道〜UNIXバカ一代 Vol.【番号】は、Macky様にて、 ( http://macky.nifty.ne.jp/ ) Subject部が、燃えるUNIX道〜UNIXバカ一代番号 は、Pubzine様にて、 配布致しています。 メールマガジンの解除について まぐまぐ様の解除は、 http://www.web-kyoto.com/dp/unix/ に、削除及び登録フォームを用意致しております。 Macky様の解除は、 http://macky.nifty.ne.jp/ を参考して下さい。 Pubzine様の解除は、 http://www.pubzine.com/srchid.asp?keyword=1513 に、削除及び登録フォームを用意致しております。 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆お願い◆ このマガジンについてのお問い合わせは、WEB新撰組メーリングリストで、 お願い致します。 参加方法は、 http://www.web-kyoto.com/ml/ を参考にして下さい。 内容に対する御意見・御質問、誤記訂正はこのメールのリプライにて お願いいたします。 ◆担当者◆ 本文文責    :Web新撰組プログラマー萩原逸郎 Web新撰組  :http://www.web-kyoto.com/ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■