次のコマンドを使用して、ファイル内の単語数を計算します。
tr ' ' '\n' < Filename | grep -c "WORD"
これにより、カウンターを含む単語のリストが返されます。さて、特定の長さの単語数を計算したいと思います。たとえば、次の内容を含むファイルがあるとします。
employee paresh emp employee jayesh hitesh
引数を使用してシェルスクリプトを実行すると、6
6つの文字単語(paresh
、、jayesh
およびhitesh
、Countを含む3
)を表示/計算する必要があります。どうすればいいですか?
答え1
grepを使って正規表現を見つけると、^.{6}$
正確に6文字の行が返されます。
$ tr ' ' '\n' < Filename | grep '^.\{6\}$'
paresh
jayesh
hitesh
$ tr ' ' '\n' < Filename | grep -c '^.\{6\}$'
3
答え2
返品、
awk -v n=6 '{for (i=1; i<=NF; i++) if (length($i) == n) print $i}' file
またはtr
tr ' ' '\n' file | awk -v n=6 'length($0)==n'