내가 우연히 만났어이것게시물에서 내 문제를 설명했습니다. "foo World"라는 파일이 있다고 가정합니다 file.txt
.
Taylor가 게시한 답변은 많은 것을 설명하지만 어떻게 해야 하는지 혼란스럽습니다.
cat file.txt | grep "foo"
비슷하다
grep "foo" file.txt
grep
다음이 필요하다고 생각합니다
grep input argument // input is the string to search for (i.e) foo and
// argument is the file path (./file.txt)
cat file.txt
이제 파일 내용의 출력이 foo World
? grep
내가 맞나요? 그렇다면 grep
파일 경로가 문자열로 필요하다고 가정합니까?
답변1
대부분의 명령은 입력을 위해 열어야 하는 파일이거나 STDIN을 통해 명령에 전달되는 데이터 스트림인 입력을 처리할 수 있습니다.
내용이 cat file.txt
다른 명령으로 파이프() 되면 |
왼쪽의 STDOUT 파이프로 전달된 출력이 설정되어 명령 오른쪽의 STDIN 파이프로 공급됩니다.
콘텐츠가 STDOUT -> STDIN을 통해 파이프되지 않은 경우 명령은 명령줄 인수를 통해 이름으로 전달된 파일을 열어 데이터를 수신할 수 있습니다.
예
출력을 STDOUT으로 보냅니다.
$ cat file
1
2
3
4
5
from의 출력은 cat file
STDOUT을 통해 STDIN으로 파이프됩니다.grep
$ cat file | grep 5
5
파일을 명령줄 인수로 처리합니다.
$ grep 5 file
5
STDIN을 통해 파일 내용을 직접 처리합니다.
$ grep 5 < <(cat file)
5
file
여기서는 위의 STDIN을 통해 무엇을 전달할 수 있는지 보여줍니다 .grep