다음 명령을 사용하여 파일의 단어 수를 계산합니다.
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'