誰か教えてください。
シェル初心者です。

ファイルにある特定の文字の数を数えたいのです。
ファイルの内容
tttattttatttttatttttatttt
tttttattttatttattttattttt
tttattatttttttattttattatt
tttattttttatttttatttttttt

行ごとに
aの数
4、4、5、3
をの値を取りたいです。
お願いします。

A 回答 (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 コマンドで調べて下さい。
それでもわからないところがあれば、補足をお願いします。

この回答への補足

補足ではないです。
お礼です。

wcコマンドを知りませんでした。
とても助かりました。
解決しました。

補足日時:2002/03/01 17:24
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/02/28 16:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ