리눅스에서 파일의 문자열을 바꾸는 방법

青灯夜游
풀어 주다: 2022-03-24 18:12:17
원래의
26478명이 탐색했습니다.

Linux에서는 sed 명령을 사용하여 파일에서 문자열을 찾고 바꿀 수 있습니다. 이 명령은 스트림 편집 모드를 사용하고 정규식을 기반으로 텍스트 파일의 데이터를 일치시키고 처리할 수 있습니다. 대체 구문은 "sed의 /String 또는"입니다. 검색할 정규 표현식/대체 값/g' 작업을 수행할 파일 이름"입니다.

리눅스에서 파일의 문자열을 바꾸는 방법

이 튜토리얼의 운영 환경: linux5.9.8 시스템, Dell G3 컴퓨터.

텍스트 파일로 작업할 때 파일에서 문자열을 찾아서 바꿔야 할 가능성이 높습니다. Linux에서는 주로 파일의 텍스트를 바꾸는 데 사용되는 sed 명령을 사용하여 이 작업을 수행할 수 있습니다.

sed 명령은 무엇입니까? sed 명령은 Linux에서 기본 텍스트 작업을 수행하는 데 사용되는 스트림 편집기를 나타냅니다. 파일 검색, 찾기, 수정, 삽입, 삭제 등 다양한 기능을 수행할 수 있습니다. sed 명령은 스트림 편집 모드를 사용하며 복잡한 정규식 일치를 수행할 수 있습니다.

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 system
로그인 후 복사

1) 각 줄에서 "첫 번째" 패턴 일치를 찾아서 바꾸는 방법

아래 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
로그인 후 복사

2) 각 줄에서 "N번째" 패턴 발생을 찾아 바꾸는 방법

줄에서 /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 system
로그인 후 복사

3) 각 줄에서 패턴의 모든 인스턴스를 검색하고 바꾸는 방법

아래 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
로그인 후 복사

4) 한 줄의 "N번째"부터 시작하여 패턴의 일치하는 인스턴스를 모두 찾아서 바꾸는 방법

아래 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
로그인 후 복사
관련 추천: "

Linux 비디오 튜토리얼

"

위 내용은 리눅스에서 파일의 문자열을 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿