링크 ux 정규 표현 식 기본 부분

4551 단어 정칙Linux
일부 문자 설명:
1)^word  워드 로 시작 하 는 내용 과 일치 합 니 다.   vi/vim  리 ^ 대표 일행 의 시작
2)word$  워드 로 끝 나 는 내용 과 일치 합 니 다.   vi/vim  리 $는 한 줄 의 끝 을 대표 합 니 다.
3)^$     표시
4).      임 의 문자 만 대표 할 수 있 습 니 다.
5)\      전의 기호, 예 \. 점 자 체 를 대표 하여 특별한 의미 가 있 는 문 자 를 조끼 를 벗 기 고 그 자 체 를 복원 할 수 있 습 니 다. \ $.
6)*      0 개 이상 의 앞 에 있 는 문 자 를 반복 합 니 다. 예 o * 는 o 가 없 거나 o 가 하나 이상 있 습 니 다.
7).*     모든 문자 와 일치 합 니 다.연장 ^. * 여러 글자 로 시작 합 니 다.. * $임의의 여러 문자 로 끝 냅 니 다.
sed 를 통 해 ip 주소 만 가 져 오기 예:
ifconfig eth0|sed -n '2p'|sed 's#^.*dr:##g'|sed 's#B.*$##g'

ifconfig eth 0: 이 컴퓨터 네트워크 카드 eth 0 의 ip 주 소 를 가 져 옵 니 다.
sed - n '2p': 두 번 째 줄 의 내용 인쇄
sed 's \ # ^. * dr: \ # \ # g': dr: 이전 내용 이 모두 비어 있 음 을 나타 낸다.
sed 's \ # B. * $\ # \ # g': B 로 시작 해서 끝 나 는 내용 이 모두 비어 있 음 을 나 타 냅 니 다.
기타 방법:
ifconfig eno16777736|awk -F "[ ]+" 'NR==2 {print $3}'

- F: 입력 파일 의 구분 자 를 지정 합 니 다. fs 는 문자열 이나 정규 표현 식 입 니 다. 예 를 들 어 - F:
NR = 2: 두 번 째 줄
$3: 세 번 째 열
ifconfig eth0|sed -n '2s#^.*dr:##gp'|sed -n 's#B.*$##gp'
ifconfig eht0|sed -nr 's#^.*dr:(.*)   Bca.*$#\1#gp'

- r: 전 의 를 의미 합 니 다. - r 를 넣 으 면 사용 하지 않 습 니 다.
grep IPADDR /etc/sysconfig/network-scripts/ifcfg-eth0|cut -d= -f2

grep IPADDR: IPADDR 내용 만 표시
cut - d = - f2: - d = 은 = 을 구분자 로 하고 - f2 는 구분자 의 두 번 째 부분 을 선택 하 는 것 을 나타 낸다.
명령 을 사용 하여 passwd 파일 의 루트 위치 와 / bin / bash 위 치 를 바 꿉 니 다:
sed -nr 's#([^:]+)(.*:.*:)(.*$)#\3\2\1#gp' /etc/passwd

처음 한 번 또는 여러 번
\ 3 \ \ 2 \ 1: 인쇄 순 서 를 나타 내 고 \ 3 세 번 째 괄호 의 내용 을 인쇄 합 니 다. \ 2 두 번 째 괄호 의 내용 을 인쇄 합 니 다.
s 삼 총사 명령 을 이용 하여 파일 의 빈 줄 을 제거 합 니 다:
sed -i '/^$/d' test.txt

- i: 파일 편집 및 저장
^ $: 빈 줄
삭제
/ /: 정규 표현 식 과 일치 합 니 다.
awk '/^[^$]/' test.txt

^ [^ $]: 비 어 있 는 줄 의 시작 과 일치 하여 비 어 있 는 줄 로 시작 하 는 줄 을 걸 러 냅 니 다.
grep -v "^$" test.txt

- v: 필터 하지 않 는 것
sed 의 첨삭 검사:
① 증가
    a 지정 한 줄 에 텍스트 추가
    i 줄 을 만 들 기 전에 텍스트 삽입
일방 통행 증가
sed '2a 106,dandan,CSO' test.txt

2a: 두 번 째 줄
106, dandan, CSO: 추가 내용 표시
sed '2i 106,dandan,CSO' test.txt

둘째 줄
sed '2a 106,dandan,CSO
106,lalala,BOSS' test.txt

줄 바 꿈
② 삭제
sed '1d' test.txt
첫 줄 삭제
sed '1,3d' test.txt
1 줄 에서 3 줄 삭제
sed '1,+2d' test.txt
첫 줄 과 그 다음 두 줄 삭제
sed '1~2d' test.txt
1, 3, 5, 7... 홀수 줄 삭제
sed '/101/d' test.txt
내용 이 101 인 줄 삭제
sed '/101/,/103/d' test.txt
내용 101 에서 103 줄 삭제
sed '/101/,$d' test.txt
내용 이 101 에서 내용 의 끝 에 있 는 내용 을 삭제 합 니 다.
sed '/101/,5d' test.txt
101 에서 다섯 번 째 줄 의 내용 을 삭제 합 니 다. [5 줄 에 101 의 내용 이 없 으 면 sed 소프트웨어 는 101 이 포 함 된 내용 을 계속 찾 아 삭제 합 니 다.]
sed '1,/101/d' test.txt
첫 줄 에서 내용 이 101 인 줄 을 삭제 합 니 다.
sed '/101/,+2d' test.txt
내용 이 101 인 줄 과 그 다음 두 줄 을 삭제 합 니 다.
③ 고치다
s: 각 줄 의 첫 번 째 일치 하 는 문자열 을 단독으로 사용 합 니 다 = sed 명령
g: 줄 마다 모든 바 꾸 기 = = sed 명령 s 의 바 꾸 기 표지 중 하나 입 니 다. sed 명령 이 아 닙 니 다.
sed '2c 108,aaaaa,bb' test.txt

2c: 두 번 째 줄 의 내용 수정
sed '2s#0#8#' test.txt

두 번 째 줄 의 첫 번 째 0 을 8 로 변경 합 니 다.
sed '2s#0#8#g' test.txt

두 번 째 줄 의 모든 0 을 8 로 변경 합 니 다.
ls *jpg|sed -r 's#(^.*)_finished.*#mv & \1.jpg#g'|bash

&: 대표 (^. *)finished. * 이 정규 명령
\ \ 1: 대표 (^. *) 의 내용
bash: 이 명령 실행
④ 조사
p: 지정 한 내용 을 출력 하지만 기본적으로 일치 하 는 결 과 를 2 번 출력 하기 때문에 - n 을 사용 하여 기본 출력 을 취소 합 니 다.
awk 기본 구조:
     시작 모듈    /누 구 를 찾 습 니까?    끝 모듈
awk BEGIN{coms} /pattern/{coms} END{coms}
ps: BEGIN 과 END 모듈 은 하나만 있 을 수 있 습 니 다.
    'NR==2{print $1}NR==5{print $0}'
awk 내장 변수 (미리 정 의 된 변수)
$0            현재 기록
$1,$2...$n    현재 기 록 된 n 번 째 필드, 필드 간 FS 분할
FS            입력 필드 구분자, 기본 값 은 빈 칸 입 니 다.
NF            현재 기록 중인 필드 개 수 는 몇 개의 열 이 있 습 니까?
NR            이미 읽 은 기록 수 는 줄 번호 입 니 다. 1 부터 시작 합 니 다.
RS            입력 한 기록 구분자 기본 값 은 줄 바 꿈 문자 입 니 다.
OFS           출력 필드 구분자, 기본 값 도 공백
ORS           출력 기록 구분자
FNR           현재 파일 의 읽 기 기록 번호

좋은 웹페이지 즐겨찾기