linuxコマンドでファイルにあらわれる数字を足す
awkってコマンドがある。
これは各行に対して、いろんな操作ができる。
まずは下をみて、sample.txtは文字列とその横に値があるファイル。
catするとこんなファイル。
makoto@Ichiro ~/workspace/linux_command/count_words_occurance $ cat sample.txt makoto 3 banana 2 book 94 cando 100 makoto 7
さあawkを使おう。awkの次に文字列を渡して、その中でしたい処理を書くのが基本。
下の例ではなーにもやっていない。
makoto@Ichiro ~/workspace/linux_command/count_words_occurance $ awk '{}' sample.txt
さて、下の例では、単純に各行表示しているだけ。
うん。catと同じことをやっているね。けど、これからいろんなことができるんだよ。
ちなみに$0は埋め込み変数でその行全体をあらすんだ。
そのほかにも$1とやると最初の文字列をあらわし、$2はその次、をあらわすんだ。
便利でしょ。
makoto@Ichiro ~/workspace/linux_command/count_words_occurance $ awk '{print $0}' sample.txt makoto 3 banana 2 book 94 cando 100 makoto 7
じゃあこれは
$ awk '{print $2}' sample.txt 3 2 94 100 7
そうだす。数字だけをあらわしてくれる出す。
じゃあ
この値の合計をだしてみたい。
それは、awkでは変数も保持できるんだ。
それでファイルの読みはじめと