私は1000個のランダムな大文字と小文字を含むテキストファイルを作成しました:
cat /dev/urandom | tr -dc "a-zA-Z0-9" | head -c 1000 > file1
grep
とwc
?
この方法で行いました:
grep -ic cat file1
ただし、表示される行数はカウントされますが、数を確認したいのですがその1行に表示される回数。何か考えはありますか?
コメント
- fyi、trはazの代わりに[:alnum:]を使用できます。 。そして、 各 行だけでなく、特定の1行だけでなく、ファイル全体に表示される回数をカウントしたい(その1行で"最後に)?
回答
私がしなければならない作業は、このファイルで何回検索するかです。コマンド
および
wc
。
試してみてください:
grep -oi cat file1 | wc -l
例:
$ cat file1 foo cat bar zoo cat random text cat dog foobar cat end!
^ cat
上記。
grep -oi cat file1 | wc -l 4
man grep
から(私の強調):
-o, --only-matching Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.
コメント
- 上記のコマンドは、部分文字列 cat が一部であってもすべて検索しますbob cat や cat alougueのような他の単語の。ただし、ファイルはスペースを含まないように作成されています。したがって、これは単なるメモです。
- @schweikはい、その通りです。回答に単語の境界を追加しませんでした。