리눅스 파이프라인의 실제 활용 사례
이 마지막 단계에서는 로그 파일 분석, 데이터 파일 처리 및 일반적인 시스템 관리 작업을 통해 Linux 파이프라인의 실제 활용 사례를 살펴보겠습니다.
로그 파일 분석
시스템 관리자는 종종 로그 파일에서 유용한 정보를 추출해야 합니다. 파이프라인을 사용하여 server_log.txt 파일을 분석해 보겠습니다.
- 각 로그 레벨 (INFO, WARNING, ERROR) 의 발생 횟수 계산:
cd ~/project
cat server_log.txt | grep -o "INFO\|WARNING\|ERROR" | sort | uniq -c
출력:
4 INFO
3 ERROR
2 WARNING
- 모든 타임스탬프와 로그 레벨 추출:
cat server_log.txt | grep -o "\[[0-9-]* [0-9:]*\] [A-Z]*" | head -5
출력:
[2023-05-10 08:45:22] INFO
[2023-05-10 09:12:35] ERROR
[2023-05-10 09:14:01] INFO
[2023-05-10 09:14:10] INFO
[2023-05-10 09:30:45] WARNING
CSV 데이터 처리
파이프라인을 사용하여 sales.csv 파일을 분석해 보겠습니다.
- 판매된 고유 제품 추출 및 개수 계산:
cat sales.csv | tail -n +2 | cut -d',' -f2 | sort | uniq -c
tail -n +2 명령은 CSV 파일의 헤더 행을 건너뜁니다.
출력:
2 Keyboard
2 Laptop
2 Monitor
2 Mouse
1 Printer
- 판매된 총 유닛 수 계산:
cat sales.csv | tail -n +2 | cut -d',' -f3 | paste -sd+ | bc
출력:
113
이 파이프라인은 세 번째 열 (Units) 을 추출하고, 모든 값을 "+" 기호로 결합한 다음 bc 계산기를 사용하여 합계를 계산합니다.
시스템 모니터링 작업
Linux 파이프라인은 시스템 모니터링 및 관리 작업에도 유용합니다.
- 메모리를 가장 많이 사용하는 상위 5 개 프로세스 나열:
ps aux | sort -k 4 -r | head -6
이 명령은 4 번째 열 (메모리 사용량) 을 기준으로 역순으로 정렬된 프로세스를 나열하고 상위 6 개 줄 (헤더 포함) 을 표시합니다.
- 10MB 보다 큰 모든 파일을 찾아 크기별로 정렬:
cd ..
find . -type f -size +10M -exec ls -lh {} \; | sort -k 5 -h
이 명령은 크기별로 정렬된 큰 테스트 파일을 표시합니다. 출력은 다음과 유사해야 합니다.
-rw-r--r-- 1 labex labex 12M May 10 12:00 ./large_file3.dat
-rw-r--r-- 1 labex labex 15M May 10 12:00 ./large_file2.dat
-rw-r--r-- 1 labex labex 20M May 10 12:00 ./large_file1.dat
이 예제는 파일 크기별로 파일을 찾고 정렬하는 방법을 보여줍니다. 파일은 Linux 에서 파일 크기 필터링이 작동하는 방식을 보여주기 위해 설정 중에 특별히 생성되었습니다.
이러한 예제는 Linux 파이프라인을 사용하여 실제 문제를 효율적으로 해결하는 방법을 보여줍니다. 간단한 명령을 결합하여 복잡한 스크립트나 프로그램을 작성하지 않고도 강력한 데이터 처리 워크플로우를 만들 수 있습니다.