sed awk 편집기
sed 편집기
sed 는 스 트림 편집기 입 니 다. 스 트림 편집 기 는 편집기 가 데 이 터 를 처리 하기 전에 미리 제공 한 규칙 을 바탕 으로 데이터 흐름 을 편집 합 니 다.sed 편집 기 는 명령 에 따라 데이터 흐름 의 데 이 터 를 처리 할 수 있 습 니 다. 이 명령 들 은 명령 줄 에서 입력 하거나 명령 텍스트 파일 에 저장 할 수 있 습 니 다.
sed 의 작업 절 차 는 주로 읽 기, 실행, 표시 세 가지 과정 을 포함한다.
• :sed ( 、 、 ) ( ,pattern space)。
• : , sed , , sed 。
• : 。 , 。 , , 。
, , 。
: sed , , 。
명령 형식:
sed -e ' ' 1 2 ...
sed -n -e ' ' 1 2 ...
sed -f 1 2 ...
sed -i -e ' ' 1 2 ...
sed -e 'n{
1
2
...
}' 1 2 ...
일반 옵션:
-f --file=: 。
-h --help: 。
-n、--quiet silent: sed , p 。
-i: 。
상용 동작:
d: , 。
a: , 。
i: , 。
c: , 。
y: , 。
p: , , ; , ; , ASCII 。 “-n” 。
=: 。
l( L): ASCII ( $、 \t)
인쇄 내용:
sed -n -e '=' testfile1
sed -n -e 'l' testfile1
sed -n -e '=;p' testfile1
sed -n -e '=' -e 'p' testfile1
sed -n '
> =
> p
> ' testfile1
사용 주소:
sed 2 :
1、
2、
sed -n '1p' testfile2
sed -n '$p' testfile2
sed -n '1,3p' testfile2
sed -n '3,$p' testfile2
sed -n '1,+3p' testfile2 # 1 3 , 1-4
sed '5q' testfile2 # 5 ,q
sed -n 'p;n' testfile2 # ;n
sed -n 'n;p' testfile2 #
sed -n '2,${n;p}' testfile2
sed -n '/ftp/p' /etc/passwd
sed -n '/^a'/p /etc/passwd
sed -n '/bash$'/p /etc/passwd
sed -n '/ftp\|root/p' /etc/passwd
sed -n '2,/145/p' testfile2
sed -n '/145/=' testfile2
sed -nr '/ro{1,}t/p' /etc/passwd #-r
줄 삭제:
sed 'd' testfile2 #
sed '3d' testfile2
sed '2,4d' testfile2
sed '$d' testfile2
sed '/^$/d' testfile2 #
sed '/bash$/d' /etc/passwd
sed '/nologin$/!d' /etc/passwd #“!”
sed '/2/,/3/d' testfile2 # ,
sed '/1/,/3/d' testfile2
대체:
s/ / /
4 :
:
g:
p: , -n
w :
sed -n 's/root/admin/p' /etc/passwd
sed -n 's/root/admin/2p' /etc/passwd
sed -n 's/root/admin/gp' /etc/passwd
sed 's/root//g' /etc/passwd
sed '1,20 s/^/#/' /etc/passwd
sed '/^root/ s/$/#/' /etc/passwd
sed -f script.sed testfile2
sed '1,20w out.txt' /etc/passwd
sed '1,20 s/^/#/w out.txt' /etc/passwd
sed -n 's/\/bin\/bash/\/bin\/csh/p' /etc/passwd
sed -n 's!/bin/bash!/bin/csh!p' /etc/passwd # “!”
삽입:
sed '/45/c ABC' testfile2
sed '/45/ y/45/AB/' testfile2
sed '1,3a ABC' testfile2
sed '1i ABC' testfile2
sed '5r /etc/resolv.conf' testfile2
sed '/root/{H;d};$G' /etc/passwd # root ,H ,G
sed '1,5H;15,16G' /etc/passwd
awk
작업 원리:
텍스트 를 한 줄 씩 읽 습 니 다. 기본적으로 빈 칸 이나 tab 키 를 구분자 로 구분 하고 구 분 된 필드 를 내장 변수 에 저장 하 며 패턴 이나 조건 에 따라 편집 명령 을 수행 합 니 다.sed 명령 은 항상 한 줄 의 처리 에 사용 되 며, awk 는 한 줄 을 여러 개의 '필드' 로 나 누 어 처리 하 는 경향 이 있 습 니 다.awk 정보의 읽 기 도 한 줄 씩 읽 습 니 다. 실행 결 과 는 print 기능 을 통 해 필드 데 이 터 를 인쇄 하여 표시 할 수 있 습 니 다.awk 명령 을 사용 하 는 과정 에서 논리 연산 자 '&' 를 사용 하여 '와', '|' 을 표시 하거나 '!' 를 표시 하여 '비' 를 표시 할 수 있 습 니 다.또한 간단 한 수학 연산 도 할 수 있다. 예 를 들 어 +, -, *,/,%, ^ 는 각각 더하기, 빼 기, 곱 하기, 나 누 기, 나머지 와 곱 하기 를 나타 낸다.
명령 형식:
awk ' { }' 1 2 …
awk -f 1 2 …
awk ( ) :
FS: 。 , 。 "-F"
NF: 。
NR: ( )。
$0: 。
$n: n ( n )。
FILENAME: 。
RS: 。awk , RS , awk , 。 '
'
:
awk '{print}' testfile2 #
awk '{print $0}' testfile2 #
awk 'NR==1,NR==3{print}' testfile2 # 1~3
awk '(NR>=1)&&(NR<=3){print}' testfile2 # 1~3
awk 'NR==1||NR==3{print}' testfile2 # 1 、 3
awk '(NR%2)==1{print}' testfile2 #
awk '(NR%2)==0{print}' testfile2 #
awk '/^root/{print}' /etc/passwd # root
awk '/nologin$/{print}' /etc/passwd # nologin
awk 'BEGIN {x=0};/\/bin\/bash$/{x++};END {print x}' /etc/passwd # /bin/bash , grep -c "/bin/bash$" /etc/passwd
BEGIN , , BEGIN ;awk , END ,END{} ,
필드 로 텍스트 출력:
awk -F ":" '{print $1,$3}' /etc/passwd # 1、3
awk -F ":" '$3<5{print $1,$3}' /etc/passwd # 3 5 1、3
awk -F ":" '!($3<200){print}' /etc/passwd # 3 200
awk 'BEGIN {FS=":"};{if($3>=200){print}}' /etc/passwd # BEGIN ,
awk -F ":" '{max=($3>$4)?$3:$4;{print max}}' /etc/passwd #($3>$4)?$3:$4 , 3 4 , 3 max, 4 max
awk -F ":" '{print NR,$0}' /etc/passwd # , ,NR 1
awk -F ":" '$7~"/bash"{print $1}' /etc/passwd # 7 /bash 1
awk -F ":" '($1~"root")&&(NF==7){print $1,$2}' /etc/passwd # 1 root 7 1、2
awk -F ":" '($7!="/bin/bash")&&($7!="/sbin/nologin"){print}' /etc/passwd # 7 /bin/bash, /sbin/nologin
파이프, 더 블 인덱스 를 통 해 셸 명령 을 호출 합 니 다:
awk -F: '/bash$/{print | "wc -l"}' /etc/passwd # wc -l bash , grep -c "bash$" /etc/passwd
free -m | awk '/Mem:/ {print int($3/($3+$4)*100)}' #
top -b -n 1 | grep Cpu | awk -F ',' '{print $4}' | awk '{print $1}' # CPU ,(-b -n 1 1 )
date -d "$(awk -F "." '{print $1}' /proc/uptime) second ago" +"%F %H:%M:%S" # , uptime;second ago ,+"%F %H:%M:%S" +"%Y-%m-%d %H:%M:%S"
awk 'BEGIN {while ("w" | getline) n++ ; {print n-2}"%"}' # w ,
awk 'BEGIN {"hostname" | getline ; {print $0}}' # hostname,
getline “
CPU 사용률 cpuus=
top -b -n 1 | grep Cpu | awk '{print $2}'
cpu_sy= top -b -n 1 | grep Cpu | awk -F ',' '{print $2}' | awk '{print $1}'
cpu_sum= ( ( (( ((cpu_us+$cpu_sy)) echo $cpu_sum
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Dubbo (2): zookeeper 등록 센터Zookeeper 는 Apacahe Hadoop 의 하위 프로젝트 로 트 리 형태의 디 렉 터 리 서비스 로 푸 시 변경 을 지원 하 며 Dubbo 서비스의 등록 센터 로 적합 하 며 산업 강도 가 높 아 생산 환경...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.