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

浙公网安备 33010602011771号