텍스트 가공: wc·sort·uniq·cut
쉽게 말하면
글 파일을 다듬는 작은 도구들이에요. 줄 수 세기(wc), 줄 정렬(sort), 붙어 있는 같은 줄 하나로 줄이기(uniq), 특정 칸만 잘라 내기(cut)가 있어요. 하나씩은 단순하지만 이어 붙이면 강력해요.
시험용 정의
텍스트를 가공하는 작은 도구들이다. wc 세기, sort 정렬, uniq 인접 중복 제거, cut 열 자르기, tr 문자 바꾸기. 파이프(|)로 이어 붙여 강력한 조합을 만든다.
비유로 이해하기
주방의 칼·체·저울이다. 하나씩은 단순하지만 컨베이어(파이프)로 이어 놓으면 "씻고, 썰고, 무게 달고"가 한 번에 된다.
시험에 이렇게 나와요
- sort(-n 숫자, -r 역순), uniq(연속 중복만 → 먼저 sort), cut -d: -f1, wc
- tr로 문자 바꾸기
- uniq는 인접 중복만 → sort 먼저
- sort -n·-r·-k·-t 조합 해석
- cut -d -f 결과 예측
- wc 옵션별 의미
1차 출제기준 · 공개 기출 없음
확인 문제
Q1. uniq fruits.txt로 중복을 지웠는데 apple이 여전히 여러 번 나온다. 왜일까?
- 파일이 너무 커서
- uniq가 대소문자를 구분해서
- uniq는 바로 옆에 붙은 중복만 지우므로 먼저 정렬해야 해서
- uniq는 숫자만 처리해서
정답 보기
3번 uniq는 바로 옆에 붙은 중복만 지우므로 먼저 정렬해야 해서
uniq는 연속된(인접한) 같은 줄만 하나로 합친다. 떨어져 있는 중복까지 없애려면 먼저 sort로 정렬해 같은 줄을 붙여 놓아야 한다: sort fruits.txt | uniq.
Q2. 파일의 줄 수만 출력하는 명령은?
- wc -c
- wc -w
- wc -m
- wc -l
정답 보기
4번 wc -l
wc -l이다. l은 lines(줄)다. -w는 단어 수, -c는 바이트 수다.
Q3. /etc/passwd에서 로그인 셸(7번째 칸)만 출력하는 명령은?
- cut -c7 /etc/passwd
- cut -d: -f7 /etc/passwd
- cut -f7 /etc/passwd
- sort -k7 /etc/passwd
정답 보기
2번 cut -d: -f7 /etc/passwd
구분자 :를 지정해야 한다(기본은 탭).
Q4. 숫자가 큰 것부터 정렬하는 옵션 조합은?
- sort -r
- sort -u
- sort -n
- sort -nr
정답 보기
4번 sort -nr
sort -nr이다. -n은 숫자로 비교, -r은 역순(큰 것부터)이다. -n이 없으면 10이 9보다 앞에 오는 글자 순 정렬이 된다.
헷갈리기 쉬운 O·X
uniq는 파일 전체에서 떨어져 있는 중복 줄도 모두 제거한다.
정답 보기
X 인접한 중복만. 먼저 sort.
sort는 -n 없이 쓰면 숫자도 문자 순서로 비교한다.
정답 보기
O 그래서 10이 9보다 앞에 온다.
cut의 기본 구분자는 공백이다.
정답 보기
X 기본은 탭.