1000 개의 임의의 대문자 및 소문자로 된 텍스트 파일을 만들었습니다.
cat /dev/urandom | tr -dc "a-zA-Z0-9" | head -c 1000 > file1
grep
및 wc
?
이렇게했습니다 :
grep -ic cat file1
하지만 얼마나 많은 줄이 나타나는지 확인하고 싶습니다. 한 줄에 표시되는 횟수입니다. 아이디어가 있나요?
댓글
- fyi, tr은 az .. 대신 [: alnum :]을 사용할 수 있습니다. . 그리고 각 줄뿐 아니라 특정 줄에만 표시되는 것이 아니라 전체 파일에 나타나는 횟수를 계산하려고합니다 (" 한 줄에 " 끝)?
답변
내가해야 할 일은이 파일에서 몇 번이나 “cat”명령을 사용하여 나타나는지 찾는 것입니다.
grep
및wc
.
시도 :
grep -oi cat file1 | wc -l
예 :
$ cat file1 foo cat bar zoo cat random text cat dog foobar cat end!
^ cat
위.
grep -oi cat file1 | wc -l 4
From man grep
(내 강조) :
-o, --only-matching Print only the matched (non-empty) parts of a matching line, with each such part on a separate output line.
설명
- 위의 명령은 부분 문자열 인 경우에도 모든 하위 문자열 cat 을 찾습니다. bob cat 과 cat alougue 같은 다른 단어의 그러나 파일은 공백을 포함하지 않고 단어 브레이크와 줄 바꿈을 포함하지 않도록 생성됩니다. 따라서 이것은 메모 일뿐입니다.
- @schweik 예, 맞습니다. 답변에 단어 경계를 추가하지 않았습니다.