텍스트 처리 명령어를 위해 아래 두 파일(number.txt와 fruit.txt)과 같은 내용이 들어 있도록 파일을 생성 후 수정한다.
$ mkdir sortDir
$ touch ./sortDir/number.txt
$ touch sortDir/fruit.txt
$ cd sortDir
$ vim number.txt
$ vim fruit.txt
9
4
2
7
6
5
10
20
11
21
mango banana pineapple
kiwi
orange
strawberry grape
watermelon
cherry
pear
peach
grape kiwi
banana
banana
mango
grape
grape
mango
cherry
💡
wc명령어를 통해 파일의 행 수, 단어 수, 바이트 수를 출력할 수 있다.
## 행수, 단어수, 바이트 수, 파일 이름
$ wc fruit.txt
## 행만 표시
$ wc -l fruit.txt
## 단어만 표시
$ wc -w fruit.txt
## 바이트 수만 표시
$ wc -c fruit.txt
파이프라인 을 통해 루트 렉토리의 파일과 디렉토리가 총 몇 개인지도 알 수 있다.
## 루트 디렉토리
$ ls / | wc -l
파이프라인(Pipeline):
‘|’ 기호를 사용하여 구성하며 왼쪽 명령어의 출력을 오른쪽 명령어의 입력으로 전달한다. 다양한 명령어를 조합하여 복잡한 작업을 수행하기 위한 데이터 처리 및 변환에 사용된다.
💡
-n옵션을 추가하면 내용이 문자열이 아닌 숫자로 판단한다.

💡
-r옵션을 추가하면 역순으로 정렬된다.


💡
head명령어를 사용하면 파일의처음 부분을,tail명령어를 사용하면 파일의마지막 부분을 출력할 수 있다.
| 옵션 | 설명 |
|---|---|
| -n number | number 수 만큼 출력한다. |
| -c number | number 바이트 만큼 출력한다. |
| -q | 여러 개의 파일을 출력할 때 제목을 출력하지 않는다. |
| -f | 내용이 변경될 때마다 실시간으로 출력해주며 로그파일 모니터링 등에 활용된다.(tail만 해당) |
## 마지막 4행만 보여준다.
$ tail -n 4 /etc/passwd
$ cat /etc/passwd | tail -n 4
## 처음 4행만 보여준다.
$ head -n 4 /etc/passwd
$ cat /etc/passwd | head -n 4

💡 같은 내용이 연속되어 있는 경우에만 중복을 제거한다.
## 연속된 중복 데이터 제거
$ uniq fruit.txt
## 연속된 중복 데이터 제거 후 정렬(연속되지 않은 중복은 제거 되지 않음을 확인)
$ uniq fruit.txt | sort

💡
-c옵션을 주어 중복 데이터 개수를 셀 수도 있다.
## 연속된 중복 데이터 카운팅
$ uniq -c fruit.txt
## 정렬 후 연속된 중복 데이터 카운팅(정렬 후에 중복을 카운팅하면 중복 값을 모두 확인할 수 있다.)
$ sort fruit.txt | uniq -c

💡
diff명령어를 통해 두 파일의 차이점을 출력할 수 있다.
$ diff [옵션] <비교 파일 1> <비교 파일 2>
다음 명령어를 실행하고 아래 파일과 같은 내용이 들어 있도록 파일을 생성하고 수정한다.
$ touch fruit2.txt
$ vim fruit2.txt
mango banana pineapple
kiwi
orange
strawberry grape
watermelon
cherry
pear
peach
grape kiwi
banana
banana
chocolate
candy
marshmallowdiff 명령어를 통해 fruit.txt와 fruit2.txt의 차이를 확인한다.
## fruit.txt와 fruit2.txt의 차이를 비교한다.
$ diff fruit.txt fruit2.txt
## 결과는 fruit.txt의 12번째 줄부터 16번째 행이 fruit2.txt의 12번째 줄부터 14번째 줄로 변경되었음을 나타낸다.
