여러 명령어 연결하기
Coddy Terminal 여정의 기초 섹션에 포함된 레슨. 82개 중 45번째.
두 개의 명령어만 연결할 수 있는 것은 아닙니다. 파이프를 사용하면 필요한 만큼 많은 명령어를 연결할 수 있으며, 각 명령어는 이전 명령어의 출력을 처리합니다.
파이프라인을 확장하려면 | 기호를 더 추가하기만 하면 됩니다:
cat data.txt | sort | head -5이 명령은 파일을 읽고, 모든 줄을 알파벳순으로 정렬한 다음, 처음 5개의 결과만 표시합니다. 데이터는 각 명령을 차례로 거치며 왼쪽에서 오른쪽으로 흐릅니다.
고유한 정렬된 항목을 찾는 실용적인 예시는 다음과 같습니다:
cat names.txt | sort | uniq파일 내용이 먼저 정렬되고(이를 통해 중복 항목이 함께 그룹화됨), 그런 다음 uniq가 연속된 중복 행을 제거합니다. 여기서는 순서가 중요합니다. uniq는 인접한 중복 항목만 제거하므로 정렬이 먼저 이루어져야 합니다.
단계를 더 추가할 수도 있습니다. 고유한 이름이 몇 개 있는지 세려면:
cat names.txt | sort | uniq | wc -l각 파이프는 또 하나의 변환 단계를 추가합니다. 더 긴 파이프라인을 구성할 때는 각 명령이 입력으로 무엇을 필요로 하고 출력으로 무엇을 생성하는지 생각해 보세요. 한 명령의 출력 형식은 다음 명령의 입력으로 적절해야 합니다.
챌린지
쉬움파일 visitors.txt에는 중복된 방문자 이름 목록이 들어 있습니다. 고유한 방문자가 몇 명인지 세기 위해 네 개의 명령어를 사용하는 파이프라인을 만드세요.
다음 작업을 수행하는 단일 명령어를 실행하세요:
cat을 사용하여visitors.txt를 읽습니다- 이름을 알파벳순으로 정렬하기 위해
sort로 파이프합니다 - 중복 항목을 제거하기 위해
uniq로 파이프합니다 - 고유한 이름의 수를 세기 위해
wc -l로 파이프합니다
힌트: 여러
|기호를 사용하여 네 개의 명령어를 모두 연결하세요.uniq는 인접한 중복 항목만 제거하므로, 그 앞에 정렬이 와야 한다는 점을 기억하세요.
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: Terminal 플레이그라운드