집 >운영 및 유지보수 >리눅스 운영 및 유지 관리 >Linux에서 sed 명령을 바꾸는 방법
방법: 1. 매개변수 "c"를 설정합니다. c 뒤에는 문자열이 올 수 있으며, 이 문자열은 지정된 줄을 바꿀 수 있습니다. 구문은 "sed '교체 후 줄 번호 c 내용'"입니다. " , 대체 작업을 직접 수행할 수 있으며 구문은 "sed 's/교체할 문자열/새 문자열/g'"입니다.
이 튜토리얼의 운영 환경: linux7.3 시스템, Dell G3 컴퓨터.
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 '2,5c No 2-5 number' 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 's/要被取代的字串/新的字串/g'
먼저 원래 정보를 관찰하고 /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 'inet addr' | sed 's/^.*addr://g' 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 'inet addr' | sed 's/^.*addr://g' | sed 's/Bcast.*$//g' 192.168.1.100
관련 추천: "Linux 비디오 튜토리얼"
위 내용은 Linux에서 sed 명령을 바꾸는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!