![単語の始まりと終わりに何回現れるかを計算する方法は? [閉鎖]](https://linux33.com/image/175368/%E5%8D%98%E8%AA%9E%E3%81%AE%E5%A7%8B%E3%81%BE%E3%82%8A%E3%81%A8%E7%B5%82%E3%82%8F%E3%82%8A%E3%81%AB%E4%BD%95%E5%9B%9E%E7%8F%BE%E3%82%8C%E3%82%8B%E3%81%8B%E3%82%92%E8%A8%88%E7%AE%97%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%EF%BC%9F%20%5B%E9%96%89%E9%8E%96%5D.png)
私は2つの定義(英数字とファイル)を取り、次のことを行うスクリプトを書くのが好きです。英数字(数字を含む)で始まるファイル行とその行数を表示します。ファイルの英数字行(数字を含む)とその行番号を表示します。英数字と行数で終わるファイルの行を表示します。
たとえば、私はこれを持っています
gg jj kk
gg ll mm
dd gg bb
ee zz gg
gg
始めて終わる回数を数えたいです。
答え1
これ-c
にはフラグを使用できます。grep
たとえば、入力ファイルが次のような場合words
:
grep -c '^gg\b' words
gg
行の先頭に表示される行数が表示されます。
grep -c '\bgg$' words
gg
行の末尾に表示される行数が表示されます。
^
および$
行の始まりと終わりをそれぞれ表す特殊文字。
このフラグは、-c
出力に一致する行自体ではなく、一致する行数が含まれていることを示します。
部分文字列に含まれる単語と一致しないように\b
単語の境界を含むように回答を更新しました。gg