리눅스 환경에서 텍스트 파일을 수동으로 편집하는 것은 상당히 번거로울 수 있습니다. 따라서 명령줄을 활용하여 파일 내 텍스트를 신속하게 교체하는 방법을 숙지하는 것이 효율적입니다. 리눅스 초보자이거나 해당 방법을 모르는 경우, 이 가이드가 큰 도움이 될 것입니다! 지금부터 리눅스에서 텍스트 문자열을 변경하는 과정을 상세히 안내하겠습니다.
파일 내 텍스트 문자열 변경하기 – sed 활용
sed 도구는 리눅스에서 텍스트 문자열을 교체하는 데 가장 효과적인 방법 중 하나입니다. 그 이유는 무엇일까요? 바로 사용이 간편하고, 그 기능 또한 매우 뛰어나기 때문입니다. 또한, sed는 대부분의 리눅스 운영체제에 기본적으로 설치되어 있어 별도로 설치할 필요가 없습니다.
sed를 사용하여 파일 내 텍스트를 변경하는 과정은 `sed -i` 명령어로 시작됩니다. 사용 방법은 다음과 같습니다. 먼저, 리눅스 데스크톱에서 터미널 창을 실행합니다. 키보드 단축키 `Ctrl + Alt + T`를 누르면 터미널 창이 즉시 열립니다.
터미널 창이 준비되면, `sed -i`를 입력하여 교체 명령을 시작합니다.
sed -i
`sed -i` 명령어를 입력한 후에는 작은따옴표(`’`)를 추가해야 합니다. sed로 교체할 텍스트는 이 작은따옴표 뒤에 와야 하므로, 이 따옴표는 필수 요소입니다.
sed -i '
첫 번째 작은따옴표(`’`) 뒤에는 `s/`를 입력합니다. `s/`는 sed에게 대체할 기존 텍스트가 곧 등장할 것이라는 것을 알리는 신호입니다.
sed -i 's/
이제 `s/`가 명령줄에 입력되었으므로, sed에게 파일에서 교체할 텍스트를 알려주어야 합니다. 이 예시에서는 “apple”이라는 단어를 변경해 보겠습니다.
sed -i 's/apple
교체할 텍스트를 명령에 입력한 후에는, 그 텍스트를 대체할 새로운 텍스트를 입력해야 합니다. 이번 예시에서는 “apple”을 “orange”로 교체할 것입니다.
sed -i 's/apple/orange
교체할 텍스트와 새로운 텍스트가 모두 입력되면, 명령을 `g/`로 닫습니다. `g/`는 sed에게 모든 “apple”을 “orange”로 바꾸도록 지시하는 역할을 합니다. 아래 예시와 같이 입력해야 합니다.
참고: 파일의 모든 텍스트를 바꾸지 않으려면(`apple`을 `orange`로 바꾸는 경우), `g`를 제거하고 `sed -i ‘s/apple/orange/’`와 같이 명령을 실행하면 됩니다.
sed -i 's/apple/orange/g'
마지막으로, sed에게 교체할 텍스트가 포함된 파일의 위치를 알려주어야 합니다. 이 예시에서는 홈 디렉토리 내의 `fruit.txt` 파일이 대상입니다.
sed -i 's/apple/orange/g' ~/fruit.txt
엔터 키를 누르면 명령이 실행되고, 파일 내 텍스트 문자열이 변경됩니다.
파일 내 텍스트 문자열 변경하기 – Perl 활용
리눅스에서 파일 내 텍스트를 변경하는 또 다른 방법은 Perl 프로그래밍 언어를 이용하는 것입니다. Perl은 텍스트 처리에 매우 자주 사용되므로, 파일을 수정하는 데도 매우 유용합니다.
시작하기 전에 리눅스 PC에 Perl이 설치되어 있는지 확인해야 합니다. 대부분의 리눅스 운영체제에는 Perl이 이미 설치되어 있습니다. 만약 설치되어 있지 않다면, 운영체제 도움말 페이지에서 설치 및 사용법을 확인해 보십시오.
Perl을 사용하여 텍스트 문자열을 교체하려면 터미널이 필요합니다. `Ctrl + Alt + T` 단축키를 누르거나, 앱 메뉴에서 “터미널”을 검색하여 터미널을 실행합니다.
터미널 창이 열리면, `perl -pe`를 입력하여 Perl 명령어를 시작합니다. `perl -pe` 명령어는 파일 내 텍스트를 교체하는 데 필요한 명령어입니다.
perl -pe
`perl -pe`를 입력한 후에는 첫 번째 작은따옴표(`’`)로 시작해야 합니다. 이 따옴표는 명령 내에서 텍스트 대체 영역을 표시하는 역할을 합니다.
perl -pe '
첫 번째 작은따옴표(`’`) 뒤에 `s/`를 추가하고, 이어서 교체하려는 텍스트 문자열과 다른 `/`를 입력합니다. 예를 들어 `fruit.txt` 파일에서 “apple”을 교체하려면 다음과 같이 입력합니다.
perl -pe 's/apple/
교체할 단어를 입력한 후에는, 기존 텍스트를 대체할 새로운 단어를 입력합니다. 예를 들어, `fruit.txt`의 “apple”을 “orange”로 바꾸려면 `perl -pe ‘s/apple/` 다음에 “orange”를 추가하여 `perl -pe ‘s/apple/orange/’`와 같이 만들어야 합니다.
perl -pe 's/apple/orange/
이제 두 텍스트 문자열이 모두 명령에 포함되었으므로, Perl이 사용할 입력 파일을 지정해야 합니다. 예를 들어, “fruit.txt” 파일의 텍스트를 변경하려면, 해당 파일명을 명령에 명시해야 합니다.
참고: 이 예시에서 “fruit.txt” 파일은 홈 디렉토리(`~/`)에 있습니다. 명령이 제대로 작동하려면 `”~/fruit.txt”`를 실제 텍스트 파일의 경로로 변경해야 합니다.
perl -pe 's/apple/orange/' ~/fruit.txt
이제 입력 파일(Perl이 수정할 파일)이 명령에 추가되었으므로, 전체 명령은 다음과 같이 표시됩니다.
perl -pe 's/apple/orange/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt
위 명령어를 실행하면, 텍스트 문자열이 지정한 새로운 텍스트로 교체됩니다. 이 예시에서는 “apple”이 “orange”로 변경됩니다. 변경 사항을 확인하려면 아래 명령어를 입력해 보세요.
cat fruit.txt