>  기사  >  운영 및 유지보수  >  Linux에서 sed 명령을 바꾸는 방법

Linux에서 sed 명령을 바꾸는 방법

WBOY
WBOY원래의
2022-02-25 16:24:2415346검색

방법: 1. 매개변수 "c"를 설정합니다. c 뒤에는 문자열이 올 수 있으며, 이 문자열은 지정된 줄을 바꿀 수 있습니다. 구문은 "sed '교체 후 줄 번호 c 내용'"입니다. " , 대체 작업을 직접 수행할 수 있으며 구문은 "sed 's/교체할 문자열/새 문자열/g'"입니다.

Linux에서 sed 명령을 바꾸는 방법

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

Linux에서 sed 명령을 바꾸는 방법

Linux sed 명령은 스크립트를 사용하여 텍스트 파일을 처리합니다.

sed는 스크립트의 지시에 따라 텍스트 파일을 처리하고 편집할 수 있습니다.

Sed는 주로 하나 이상의 파일을 자동으로 편집하고, 파일에 대한 반복 작업을 단순화하고, 변환 프로그램을 작성하는 데 사용됩니다.

Syntax

sed [-hnV][-e<script>][-f<script文件>][文本文件]

매개변수 설명:

  • -e3f1c4e4b6b16bbbd69b2ee476dc4f83a 또는 --expression=3f1c4e4b6b16bbbd69b2ee476dc4f83a 옵션에 지정된 스크립트를 사용하여 입력 텍스트 파일을 처리합니다.

  • -f8d9e20cf7980a42776913d042440355f 또는 --file=8d9e20cf7980a42776913d042440355f 옵션에 지정된 스크립트 파일로 입력 텍스트 파일을 처리합니다.

  • -h 또는 --help 도움말을 표시합니다.

  • -n 또는 --quiet 또는 --silent는 스크립트 처리 후에만 결과를 표시합니다.

  • -V 또는 --version은 버전 정보를 표시합니다.

액션 설명:

  • a: 추가됨, a 뒤에 문자열이 올 수 있으며 이러한 문자열은 새 줄(현재 다음 줄)에 나타납니다. ~

  • c: 바꾸기, c를 따라갈 수 있음 문자열로, 이 문자열은 n1과 n2 사이의 줄을 대체할 수 있습니다!

  • d: 삭제입니다. 따라서 d 뒤에는 일반적으로 아무 것도 나오지 않습니다.

  • i: 삽입, i 뒤에 문자열이 올 수 있으며 이 문자열은 새 줄에 나타납니다. line);

  • p: 인쇄, 즉 선택한 데이터를 인쇄합니다. 보통 p는 sed -n~

  • s 매개변수와 함께 실행됩니다. 교체, 교체 작업을 직접 수행할 수 있습니다! 일반적으로 이 작업은 일반 표기법과 짝을 이룰 수 있습니다! 예를 들어 1,20s/old/new/g가 바로 그것입니다!

예제는 다음과 같습니다.

라인 2~5의 내용을 "No 2-5 number"로 바꾸시겠습니까?

[root@www ~]# nl /etc/passwd | sed &#39;2,5c No 2-5 number&#39;
1 root:x:0:0:root:/root:/bin/bash
No 2-5 number
6 sync:x:5:0:sync:/sbin:/bin/sync
.....(后面省略).....

sed는 전체 행 처리 모드 외에도 동작 단위의 부분 데이터를 검색하고 바꿀 수도 있습니다. 기본적으로 sed의 검색 및 대체는 vi의 검색 및 대체와 매우 유사합니다!

sed &#39;s/要被取代的字串/新的字串/g&#39;

먼저 원래 정보를 관찰하고 /sbin/ifconfig를 사용하여 IP를 쿼리합니다.

[root@www ~]# /sbin/ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:90:CC:A6:34:84
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::290:ccff:fea6:3484/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
.....(以下省略).....

이 컴퓨터의 IP는 192.168.1.100입니다.

IP 앞 부분 삭제

[root@www ~]# /sbin/ifconfig eth0 | grep &#39;inet addr&#39; | sed &#39;s/^.*addr://g&#39;
192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

다음 단계는 다음 부분을 삭제하는 것입니다. 즉: 192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

IP 뒤 부분을 삭제

[root@www ~]# /sbin/ifconfig eth0 | grep &#39;inet addr&#39; | sed &#39;s/^.*addr://g&#39; | sed &#39;s/Bcast.*$//g&#39;
192.168.1.100

관련 추천: "Linux 비디오 튜토리얼"

위 내용은 Linux에서 sed 명령을 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.