[Linux] 12. 텍스트 처리
1. 바이트 수, 단어 수, 행 수 세기 : wc
wc 명령어는 입력 파일의 행 수, 단어 수, 바이트 수를 출력해주는 명령어이다. 옵션을 지정하지 않으면 행 수, 단어 수, 바이트 수를 차례대로 출력한다.
그리고 각각 -l, -w, -c 옵션을 지정하면 각각 행 수, 단어 수, 바이트 수만 출력한다.
2. 행 단위로 정렬하기 : sort
sort는 행 단위로 정렬하여 결과를 출력한다. 아무 옵션을 지정하지 않는다면 sort는 알파벳순으로 정렬한다. 필드를 기준으로 정렬하고 싶다면 -k 옵션을 사용하면 된다. (보통 필드는 띄어쓰기 단위로 표시되어 있다.) 여기서 말하는 알파벳 순은 실제 알파벳 순서가 아닌 ASCII 코드 순서임을 의미한다.
- 숫자 값으로 정렬 : -n
- 역순으로 정렬 : -r
3. 중복 제거하기 :uniq
uniq는 연속된 중복 데이터를 하나만 출력하는 명령어이다.
4. 입력의 일부 추출하기 : cut
cut 명령어는 입력의 일부를 추출하여 출력하는 명령어이다.
cut -d <구분자> -f <필드번호> [<파일 이름>]
구분자로 지정한 문자를 기준으로 입력 데이터를 분할하여 그 중에서도 <필드 번호>로 지정한 필드만 출력한다.
5. 문자 교환과 삭제하기 : tr
tr은 문자를 치환하는 명령어이다. 치환 후 문자를 비워둔다면 문자를 삭제할 수 있다.
tr <치환 전 문자> <치환 후 문자>
하이픈으로 치환할 문자의 범위도 지정할 수 있다. a-z라고 하면 a에서 z까지 모든 알파벳을 지정한다.
+) tr 명령어는 파일은 지정할 수 없다.
6. 마지막 부분 출력하기 : tail
tail은 파일의 마지막 부분을 출력하는 명령어이다. 옵션을 지정하지 않으면 마지막 행을 출력한다. 반대로 head 명령어는 파일의 첫번째 부분을 출력하는 명령어이다.
숫자를 지정해주지 않으면 마지막 10개의 행을 출력해준다.
애플리케이션의 로그처럼 파일 내용이 추가되는 경우에는 tail의 -f 옵션을 사용하면 된다. 추가할 때마다 실시간으로 내용을 출력하여 파일을 모니터링 할 수 있다.
tail -f <file name>
output.log 파일을 모니터링 해 보자.
7. 차이 출력하기 : diff 명령어
diff 명령어는 두 파일의 차이점을 출력한다.
diff [option] <file 1> <file 2>
소스 코드나 설정 파일의 편집 전과 후의 차이점을 확인할 때 이 명령어를 자주 사용한다.
'Linux' 카테고리의 다른 글
[Linux] 11. 표준 입출력과 파이프라인 (0) | 2022.08.24 |
---|---|
[Linux] 10. 프로세스와 잡 (0) | 2022.08.23 |
[Linux] 9. 퍼미션과 슈퍼 사용자 (0) | 2022.08.22 |
[Linux] 8.배시 설정 (0) | 2022.08.14 |
[Linux] 7. 텍스트 에디터 (0) | 2022.08.13 |