wc 명령을 사용하지 않고 줄, 단어 및 문자 수 계산

wc 명령을 사용하지 않고 줄, 단어 및 문자 수 계산

명령을 사용하여 프로그램을 작성 했지만 쉘 스크립트를 사용하여 파일에서 사용하지 않고 줄, 단어 및 문자 수를 계산하는 wc방법을 알고 싶습니다 .wc

답변1

바이트 수 계산(예 wc -c: )

< file LC_ALL=C tr -c '\n' '[\n*]' | grep -c '^'

개행 수를 계산하려면(예 wc -l: ):

< file LC_ALL=C tr -cd '\n' | grep -c '^'

단어(예 wc -w:)의 경우 FreeBSD(GNU 아님)와 같은 POSIX 호환성을 가정하고 tr파일에 잘못된 바이트 시퀀스가 ​​포함되어 있지 않다고 가정합니다.

< file tr -cs '[:space:]' '[x*]' | tr -cs x '[\n*]' | grep -c x

문자(예 wc -m: )의 경우 동일한 제한 사항이 적용됩니다.

< file tr -c '\n' '[\n*]' | grep -c '^'

출력 정보:

printf '\0foo\u2006and \r\fbar\nbaz'

wcen_GB.UTF-8 로케일의 FreeBSD 시스템에서와 마찬가지로 각각 20, 1, 4 및 18을 제공합니다 .

관련 정보