왜 head
을 실행해야하나요? 파일에 단어가있는 것처럼 많은 단어가 있다는 보장은 없습니다. 실제로, (실제로는 반복되는 단어가 있기 때문에) 존재하지 않을 것이라고 보장됩니다. 그리고 모든 데이터를보고 싶다면 모든 데이터를 표시하십시오. sort -nr
의 출력을 필터링하지 마십시오.
첫 번째 tr
에는 슬래시가 하나만 필요합니다. 보통 공백과 구두점을 줄 바꿈에 매핑합니다 (-s
옵션을 tr
으로 지정하면 인접 줄 바꿈을 하나로 줄임). 첫 번째 tr
의 슬래시는 세 번째 tr
의 구두점으로 계산되므로 사용자가 그 곳까지 무엇인지 분명하지 않습니다. 나는 같은 것을 볼 것으로 예상 거라고 생각 :
cat "[email protected]" |
tr -cs '[:alpha:]' '\n' | # Convert any non-alpha character to newline
tr '[:upper:]' '[:lower:]' | # Case-convert to lower case
sort | uniq -c | sort -nr
참고 "[email protected]"
보다는 $*
의 사용; 지정한 파일 이름에 공백 (개행, 탭 등)이 포함되지 않은 경우에는 아무런 차이가 없습니다. 그럴 경우 "[email protected]"
양식이 정확하고 $*
이 아니므로 항상 "[email protected]"
을 사용할 수 있습니다. $*
보다 훨씬 더 정확합니다. 나는 주위에 거짓말을했던 일부 C 소스 코드에 대한
, 스크립트의 출력했다 : 단어 '시간'은 '포함'이라는 단어만큼 자주 나타납니다
246 n
217 i
153 int
141 list
124 if
118 t
103 char
99 a
97 size
90 buffer
89 context
82 d
81 void
79 include
79 h
78 s
65 for
62 j
55 ptr
54 r
54 const
53 static
53 sem
51 pthread
49 z
49 oldneedle
49 err
47 to
47 return
46 mutex
44 printf
43 error
43 c
하는 것으로, 그 이유가 있습니다! 단어 t
은 많이 나타납니다. 예를 들어, size_t
은 필터링을 통해 두 단어로 처리되기 때문입니다. 밑줄 보존이 가능합니다. 첫 번째 tr
을 '[:alpha:]_'
(밑줄에 유의하십시오)을 사용하도록 변경하십시오. 자릿수를 삭제했지만 원하는 경우 자릿수를 유지할 수도 있습니다.
'고양이'(두 번 모두)를 사용하는 것이 좋습니다. UUOC 어워드가 없습니다! –