(단어 개수) 명령 과 관련하여 wc
... 다음 내용을 이해하려고 노력하고 있습니다( man wc
아래에서 인용하고 질문 끝에 더 긴 인용문을 추가했습니다).
FILE이 없거나 FILE이 -이면 표준 입력을 읽습니다.
이것이 정확히 어떻게 작동하나요? "표준 입력"은 언제 입력합니까?
온라인에서 설명을 찾는 것은 매우 혼란스럽습니다. 아마도 stdin
그것이 정확히 무엇인지에 대한 몇 가지 기본 정보가 누락되었을 수도 있습니다 .
~에서man wc
SYNOPSIS
wc [OPTION]... [FILE]... wc [OPTION]... --files0-from=F
DESCRIPTION
Print newline, word, and byte counts for each FILE, and a total
line if more than one FILE is specified. A word is a
non-zero-length sequence of characters delimited by white space.
With no FILE, or when FILE is -, read standard input.
답변1
wc
-
, 이 프로그램은 명령줄에 파일 이름이 0개이거나 " "만 있는 경우를 감지합니다.
wc
wc -
그리고 이러한 경우에는 STDIN
-(프로세스의 스트림 0)에서 읽습니다. "stdin에 입력"할 필요가 없습니다.
프로세스를 생성한 프로세스인 "상위 프로세스"는 3개의 I/O 스트림 설정을 담당합니다.
0 STDIN - program input
1 STDOUT - normal program output
2 STDERR - error program output
STDIN
필요한 경우 프로그램에서 읽습니다.
wc
표준 입력 스트림에서 읽기를 사용하는 예:
$ echo 'hello world' | wc
1 2 12
여기에서는 wc
표준 입력 스트림에 도달한 줄, 단어 및 문자 수가 계산됩니다. 이 스트림은 echo
쉘을 통해 명령의 표준 출력 스트림으로 파이프됩니다. 이 echo
명령은 문자열을 hello world
표준 출력 스트림으로 보내고 wc
이를 받습니다.
답변2
ctrl+d
내 문제는 "끝 터미널 줄 입력"(입력 텍스트를 입력한 후)을 사용하는 데 익숙하지 않다는 것입니다 .
나는 이것이 명령줄 사용의 기본이라고 생각합니다. 그러나 매뉴얼 페이지를 읽고 wc 명령을 광범위하게 사용하는 방법을 검색해도 그것을 알 수 없습니다.
다른 혼란스러운 초보자를 위한 단계는 다음과 같습니다.
터미널을 입력 wc -
하고 를 클릭합니다 ENTER
.
이제 입력을 시작할 수 있습니다.
완료되면 다음을 누르세요.ctrl+d