Linux에서는 sed 명령을 사용하여 파일에서 문자열을 찾고 바꿀 수 있습니다. 이 명령은 스트림 편집 모드를 사용하고 정규식을 기반으로 텍스트 파일의 데이터를 일치시키고 처리할 수 있습니다. 대체 구문은 "sed의 /String 또는"입니다. 검색할 정규 표현식/대체 값/g' 작업을 수행할 파일 이름"입니다.
이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.
텍스트 파일로 작업할 때 파일에서 문자열을 찾아서 바꿔야 할 가능성이 높습니다. Linux에서는 주로 파일의 텍스트를 바꾸는 데 사용되는 sed 명령을 사용하여 이 작업을 수행할 수 있습니다.
sed 명령은 무엇입니까? sed 명령은 Linux에서 기본 텍스트 작업을 수행하는 데 사용되는 스트림 편집기를 나타냅니다. 파일 검색, 찾기, 수정, 삽입, 삭제 등 다양한 기능을 수행할 수 있습니다. sed 명령은 스트림 편집 모드를 사용하며 복잡한 정규식 일치를 수행할 수 있습니다.
sed 명령은 정규식을 기반으로 텍스트 파일의 데이터를 일치시키고 처리합니다.
다음과 같은 목적으로 사용할 수 있습니다:
주어진 형식과 일치하는 콘텐츠를 찾아서 바꿉니다.
지정된 줄에서 주어진 형식과 일치하는 콘텐츠를 찾아 바꿉니다.
모든 줄에서 주어진 형식과 일치하는 콘텐츠를 찾아서 바꿉니다.
두 가지 다른 패턴을 동시에 검색하고 교체합니다.
문자열 대체를 위한 일반적인 sed 구문. sed -i 's/Search_String/Replacement_String/g' Input_File
이 작업을 수행하려면 먼저 sed 구문을 이해해야 합니다. 세부정보를 확인하세요.
sed: 이것은 Linux 명령입니다.
-i: 이것은 sed 명령의 옵션입니다. 어떤 역할을 하나요? 기본적으로 sed는 결과를 표준 출력으로 인쇄합니다. sed를 사용하여 이 옵션을 추가하면 해당 위치에서 파일이 수정됩니다. 접미사(예: -i.bak)를 추가하면 원본 파일의 백업이 생성됩니다.
s: 문자 s는 대체 명령입니다.
Search_String: 주어진 문자열이나 정규식을 검색합니다.
Replacement_String: 대체 문자열입니다.
g: 전역 교체 플래그. 기본적으로 sed 명령은 각 행에서 처음 나타나는 패턴을 대체합니다. 이는 행에서 일치하는 다른 항목을 대체하지 않습니다. 그러나 교체 플래그가 제공되면 모든 일치 항목이 교체됩니다.
/: 구분 기호.
Input_File: 작업을 수행할 파일 이름입니다.
sed 명령을 사용하여 파일의 텍스트를 검색하고 변환하는 몇 가지 일반적인 예를 살펴보겠습니다.
# cat sed-test.txt 1 Unix unix unix 23 2 linux Linux 34 3 linuxunix UnixLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system1) 각 줄에서 "첫 번째" 패턴 일치를 찾아서 바꾸는 방법
아래 sed 명령은 파일의 unix를 linux로 바꿉니다. 이는 각 행 패턴의 첫 번째 인스턴스만 변경합니다. # sed 's/unix/linux/' sed-test.txt
1 Unix linux unix 23
2 linux Linux 34
3 linuxlinux UnixLinux
linux /bin/bash CentOS Linux OS
Linux is free and opensource operating system
줄에서 /1, /2.../n 및 기타 기호를 사용하여 해당 일치 항목을 바꿉니다. 다음 sed 명령은 Unix 모드의 두 번째 인스턴스를 한 줄의 Linux로 대체합니다.
# sed 's/unix/linux/2' sed-test.txt 1 Unix unix linux 23 2 linux Linux 34 3 linuxunix UnixLinux linux /bin/bash CentOS Linux OS Linux is free and opensource operating system3) 각 줄에서 패턴의 모든 인스턴스를 검색하고 바꾸는 방법
아래 sed 명령은 g가 전역 대체 플래그이므로 unix 형식의 모든 인스턴스를 linux로 바꿉니다. # sed 's/unix/linux/g' sed-test.txt
1 Unix linux linux 23
2 linux Linux 34
3 linuxlinux UnixLinux
linux /bin/bash CentOS Linux OS
Linux is free and opensource operating system
아래 sed 명령은 한 줄의 패턴 중 "N번째"부터 시작하여 일치하는 모든 인스턴스를 바꿉니다. 선. # sed 's/unix/linux/2g' sed-test.txt
1 Unix unix linux 23
2 linux Linux 34
3 linuxunix UnixLinux
linux /bin/bash CentOS Linux OS
Linux is free and opensource operating system
관련 추천: "
"
위 내용은 리눅스에서 파일의 문자열을 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!