sed 命令

sed   Stream Editor  流编辑器 对标准输出或文件逐行进行处理

1. stdout(某个文件的输出)|sed {option}  "pattern command"

2.sed {option} "pattern command"  file

pattern(匹配条件)

修改方法总结:sed -i

1.  1s /old/new/

2.  5,10s/old/new/

3.  10,+10s/pld/new/

4.  /pattern/s/old/new/

5.  /pattern1/,/pattern2/s/old/new/

6.  /pattern1/,10s /old/new/

7.  15,/pattern1/s/old/new/

例子:

1.修改 /etc/passwd 第一行中的第一个root为ROOT

sed -i '1s/root/ROOT'

2.修改 /etc/passwd 第一行中的所有root为ROOT

sed -i '1s/root/ROOT/g'

3.修改 /etc/passwd 中第五行至第十行中的所有 /sbin/nologin为/bin/bash

sed -i '5,10s/\/sbin\/nologin/\/bin\/bash/g' passwd

4.修改 /etc/passwd中匹配到 /sbin/nologin的行,将匹配到行中的login改为LOGIN

sed -i '/\/sbin\/nologin/s/login/LOGIN'

5.修改 /etc/passwd中匹配到以root开头的行,到匹配到行中包含mail的所有行,修改内容为将这些行匹配到的bin改为HADOOP

sed -i '/^root/,/mail/s///g' passwd

6.修改 /etc/passwd中匹配到以root开头的行,到第十五行中所有的行,修改内容改为将这些行中的nologin改为SPARK

sed -i '/^root/,/15s/nologin/SPARK/' passwd

7.修改 /etc/passwd中从15行开始,到匹配到一yarm开头的所有行,修改内容为将这些行中bin换位BIN

sed -i '15,/yarn/s/bin/BIN/g'  passwd

8.将文件中的数字删掉

sed -i  's/[0-9]*//g'  file.txt

posted @ 2020-09-07 13:58  高克文  阅读(281)  评论(0)    收藏  举报