0

にファイルを渡し、ファイル内にがgrep word何回出現しているかを調べたいとしwordます。grepの実行に変数の値を増やすにはどうすればよいですか?

たとえば、 が 3 回出現する場合word、次のような出力が必要です。

1
2
3

に出力されますstout(または変数に保存されます)。

4

2 に答える 2

3

これはどう:

$ cat file
word
bird
is
this
word
word word word

$ fgrep -o word file | awk '{print NR}'
1
2
3
4
5

各一致ではなく、一致した行のみをカウントする場合は、-oオプションをドロップします。

$ fgrep word file | awk '{print NR}'
1
2
3

合計数を変数に保存するだけの場合:

$ count=$(fgrep -o word file | wc -l)

$ echo $count
5

$ count=$(grep -c word file)

$ echo $count
3

増分変数:

#/bin/bash

while read line; do 
    fgrep -q word <<< "$line" && ((count++)) 
done < file
于 2012-12-21T12:48:26.053 に答える
0

コメントの反応を考慮して:

grep word file|awk '{print NR}'
于 2012-12-21T15:17:54.773 に答える