삭제하고 지정된 행의 데이터 업 링크 및 다운 링크를 추가 SED

주제 1 : 한 줄과 다음 줄에 데이터 행을 일치 삭제

1. 매칭 라인의 상부 및 하부 라인을 제거

sed -i -e '/string/{n;d}' -e '$!N;/\n.*string/!P;D' filename 

2. 행 행의 특정 문자와 일치 삭제

sed -i -e '$!N;/\n.*string/!P;D' filename

3. 문자를 포함하는 특정 행에 다음 줄 일치를 삭제

sed -i -e '/string/{n;d}' filename

한 줄과 다음 줄에 일치하는 행을 삭제 변수를 사용 4.sed :

AA=string     #变量指定匹配字符串
sed -i -e '/'"$AA"'$/{n;d}' -e '$!N;/\n.*'"$AA"'$/!P;D' file

문제 2 : 행이 다음 줄의 문자열과 일치하거나 데이터를 삽입

나오지 example.file (다음 대상 행의 위치와 일치하는 추가의 컨텐츠) '/ 매칭 단어 / A \이 내용에 첨가'는 부가 컨텐츠
I '은 / 매칭 단어 / I를 추가 할 내용 \'나오지 삽입합니다 예 행 위치에 대상 일치하는 행)에 내용 .file

예 :
# 내가 원하는 파일에 포함 된 "chengyongxu.com"키워드가 라인 앞에 추가 또는 행 다음 행있다 "chengyongxu.cn 수 있도록"말한다


1   #行前加
2   sed -i '/allow chengyongxu.com/i\allow chengyongxu.cn' the.conf.file
3   #行前后
4   sed -i '/allow chengyongxu.com/a\allow chengyongxu.cn' the.conf.file

행을 삽입 할 문자열의 다음 행으로 특정 파일에 일치 :

sed -i '/listen/a\   listen 80\;'   filename

행 데이터의 대량 삽입 여러 행이 후 특정 문자열과 일치 :

sed -i '/syncsendmsg.php/a\#013.平台广告小时计划每5分钟写入主平台 xxx 2019-07-04\n*/5 * * * * /usr/bin/php /data/cron/ptask/countjs_syc_plan_main.php\n*/5 * * * * /usr/bin/php /data/cron/ptask/countjs_syc_plan_h_main.php'  filename

라인의 파일에 일치하는 문자열에 특히 행을 삽입 :

sed -i '/listen/i\   listen 80\;' filename

문제 세 : 중 다음 행에있는 지정된 문자열과 일치하는 행을 삭제합니다

1 라인에 지정된 행을 삭제

sed -i -e :a -e '$!N;s/.*\n\(.*ServerName abc.com\)/\1/;ta' -e 'P;D' file
例如:
[root@VM_82_178_centos vhost]# grep listen m.afpfpm.cn443.conf 
   listen 80;
   listen       443;

删除   listen       443;这一行的上行内容:    listen 80;
sed -i -e :a -e '$!N;s/.*\n\(.*listen       443\)/\1/;ta' -e 'P;D' m.afpfpm.cn443.conf

2, 지정된 문자열의 내용을 삭제

sed -i '/ServerName abc.com/,/\/VirtualHost/d' $file

http://www.linuxso.com/shell/17542.html

nginx를 구성 파일의 생산에 문자를 교체


sed -i 's/#fastcgi_pass/fastcgi_pass/g;s/fastcgi_pass  unix:\/dev\/shm\/php-cgi.sock/#fastcgi_pass  unix:\/dev\/shm\/php-cgi.sock/g'  m.6saeq.cn443.conf

오늘 여기에 함께 학습의 환영 메시지 교환을 보여주기 위해

추천

출처blog.51cto.com/wujianwei/2417796