링크 ux 정규 표현 식 기본 부분
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 현재 파일 의 읽 기 기록 번호
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java에서 정규 표현식으로 html 태그 제거자바에서 정규 표현식은 html의 라벨을 제거하는데 주요 목적은 더욱 정확한 내용을 표시하는 것이다. 예를 들어 얼마 전에 블로그에서 글을 발표하는 것과 같은 기능을 했다. 편집기에서 내용을 입력하면 스타일 라벨도 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.