텍스트 파일 처리 – Bash 스크립트 기초
안녕하세요, mj입니다! 오늘은 Bash 스크립트에서 텍스트 파일을 처리하는 방법에 대해 배워보겠습니다. 텍스트 파일 처리는 데이터 분석 및 관리에서 매우 중요한 부분으로, grep
, awk
, sed
와 같은 명령어를 사용하여 다양한 작업을 수행할 수 있습니다. 다양한 실습을 통해 이들 명령어의 활용법을 익혀보세요!
1. 텍스트 파일 처리의 개념
텍스트 파일 처리란, 파일에 저장된 데이터를 읽고 수정하는 작업을 의미합니다. 이를 통해 필요한 정보를 추출하고, 데이터를 가공하여 원하는 형식으로 변환할 수 있습니다.
2. grep 명령어
grep
은 텍스트 파일에서 특정 문자열을 검색하는 데 사용됩니다. 기본적인 사용법은 다음과 같습니다:
grep "검색할 문자열" 파일명
예를 들어, example.txt
파일에서 “apple”이라는 단어를 찾고 싶다면:
grep "apple" example.txt
실습 1: 파일에서 특정 문자열 찾기
아래의 스크립트는 파일에서 특정 문자열을 검색하는 예제입니다:
#!/bin/bash
echo "apple" > example.txt
echo "banana" >> example.txt
echo "cherry" >> example.txt
echo "apple pie" >> example.txt
echo "파일에서 'apple'을 찾습니다:"
grep "apple" example.txt
출력 결과 1
파일에서 'apple'을 찾습니다:
apple
apple pie
3. awk 명령어
awk
는 텍스트 파일의 데이터를 처리하고 분석하는 데 사용됩니다. 주로 열 단위로 데이터를 다룰 수 있습니다. 기본적인 사용법은 다음과 같습니다:
awk '{print $1}' 파일명
위 명령어는 파일의 첫 번째 열을 출력합니다.
실습 2: 특정 열 출력하기
아래의 스크립트는 example.txt
에서 첫 번째 열을 출력하는 예제입니다:
#!/bin/bash
echo -e "apple red\nbanana yellow\ncherry red" > fruits.txt
echo "과일의 이름만 출력합니다:"
awk '{print $1}' fruits.txt
출력 결과 2
과일의 이름만 출력합니다:
apple
banana
cherry
4. sed 명령어
sed
는 파일의 내용을 수정하는 데 사용됩니다. 문자열 대체, 삭제, 삽입 등의 작업을 수행할 수 있습니다. 기본적인 사용법은 다음과 같습니다:
sed 's/old/new/' 파일명
위 명령어는 파일에서 “old”를 “new”로 변경합니다.
실습 3: 문자열 대체하기
아래의 스크립트는 fruits.txt
에서 “red”를 “green”으로 변경하는 예제입니다:
#!/bin/bash
echo -e "apple red\nbanana yellow\ncherry red" > fruits.txt
echo "과일의 색상을 변경합니다:"
sed -i 's/red/green/g' fruits.txt
cat fruits.txt
출력 결과 3
과일의 색상을 변경합니다:
apple green
banana yellow
cherry green
5. 여러 명령어 조합하기
이제 세 가지 명령어를 조합하여 복잡한 작업을 수행해보겠습니다. 아래의 스크립트는 특정 문자열을 검색하고, 해당 행의 첫 번째 열만 출력합니다:
#!/bin/bash
echo -e "apple red\nbanana yellow\ncherry red" > fruits.txt
echo "색상이 'red'인 과일의 이름을 출력합니다:"
grep "red" fruits.txt | awk '{print $1}'
출력 결과 4
색상이 'red'인 과일의 이름을 출력합니다:
apple
cherry
6. 결론
오늘은 Bash 스크립트에서 텍스트 파일을 처리하는 방법을 배워보았습니다. grep
, awk
, sed
명령어를 활용하여 다양한 데이터 처리 작업을 수행할 수 있습니다. 다음 포스팅에서는 파일 처리의 고급 기술을 다뤄보겠습니다.
감사합니다!