• ベストアンサー

Bシェルでファイルで文字の数を数えたい。

誰か教えてください。 シェル初心者です。 ファイルにある特定の文字の数を数えたいのです。 ファイルの内容 tttattttatttttatttttatttt tttttattttatttattttattttt tttattatttttttattttattatt tttattttttatttttatttttttt 行ごとに aの数 4、4、5、3 をの値を取りたいです。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ysk6406
  • ベストアンサー率40% (237/589)
回答No.1

私なら、こういうのはシェルでなく Perl でやりますが… 取りあえず、こんなところでどうでしょうか? ―――――――――――――――――――― cat filename | while read X do   A=`echo $X | sed 's/[^a]//g' | wc -c`   echo `expr $A - 1` done ―――――――――――――――――――― filename の内容がご質問のデータだとすると、これを実行すれば 4 4 5 3 と表示されます。 A の値から1を引いているのは、改行コードの分を除くためです。 それぞれのコマンドの意味は、man コマンドで調べて下さい。 それでもわからないところがあれば、補足をお願いします。

toroo
質問者

お礼

早速の回答ありがとうございます。 Perlではなくbchを勉強しようと作っているもので。。。 ごめんなさい調べるより質問した方が早いかなとおもって。。。 試してみます。 ありがとうございました。助かりました。 うまくいってから締め切りたいと思います。

toroo
質問者

補足

補足ではないです。 お礼です。 wcコマンドを知りませんでした。 とても助かりました。 解決しました。

すると、全ての回答が全文表示されます。

関連するQ&A