
리눅스에서 로그 분석이나 데이터 처리를 배우고 싶어도, 시스템 로그(/var/log/syslog) 같은 파일은 상황에 따라 달라 결과가 바로 나오지 않을 수 있습니다.
그래서 이번 글은 누구나 바로 실습 가능한 연습 파일을 만들어두고, 그 위에서 텍스트 처리와 리다이렉션의 기본 명령어를 연습하는 방식으로 진행합니다.
먼저 테스트에 쓸 파일 3개를 만듭니다.
echo -e "apple\nbanana\nApple\norange\nERROR: something failed\nINFO: all good" > sample.txt
echo -e "id,name,status\n1,alice,active\n2,bob,inactive\n3,charlie,active" > data.csv
echo -e '#!/bin/bash\necho "hello world"' > script.sh
파일에서 원하는 문자열만 골라낼 수 있습니다.
grep apple sample.txt
→ apple이 포함된 줄 출력
grep -i apple sample.txt
→ 대소문자 무시하고 apple 검색
grep -v INFO sample.txt
→ INFO 없는 줄만 출력
대용량 파일을 한눈에 확인할 수 있습니다.
less sample.txt
→ 방향키로 이동, /apple로 검색 가능
head -3 sample.txt
→ 처음 3줄만 출력
tail -2 sample.txt
→ 마지막 2줄만 출력
CSV처럼 구분자로 나눠진 데이터를 뽑아낼 때 유용합니다.
cut -d',' -f2 data.csv
→ 두 번째 컬럼(name)만 출력
awk -F',' '{print $1,$3}' data.csv
→ id와 status 컬럼만 출력
텍스트 안의 문자열을 바꿀 수 있습니다.
sed 's/apple/APPLE/' sample.txt
→ apple → APPLE (첫 번째만 변경)
sed 's/apple/APPLE/g' sample.txt
→ apple이 등장하는 모든 위치 변경
명령어 결과를 파일로 저장하거나, 에러만 따로 모을 수 있습니다.
ls > files.txt
→ 현재 디렉토리 목록을 files.txt에 저장
echo "new line" >> sample.txt
→ sample.txt 맨 뒤에 줄 추가
cat not_exist.txt 2> error.txt
→ 없는 파일 실행 시 발생한 에러 메시지를 error.txt에 저장
명령어를 이어 붙여서 한 줄로 처리할 수 있습니다.
cat sample.txt | grep "apple" | wc -l
→ apple이 포함된 줄 개수 출력
cat data.csv | grep "active" | cut -d',' -f2
→ active 상태의 name만 추출
특정 파일을 빠르게 찾을 수 있습니다.
find . -name "*.sh"
→ 현재 디렉토리에서 .sh 파일 검색
이번 글에서는 연습용 파일을 직접 만들어두고, 바로 실행 가능한 명령어들을 모아 실습해봤습니다.
👉 이 명령어들만 익혀도 기본적인 로그 분석·데이터 처리 자동화는 바로 시작할 수 있습니다.