sed 修改文件内容
修改命令对照表
练习实例
修改/etc/passwd中第1行第1个root为ROOT
sed -i '1s/root/ROOT/' passwd
修改/etc/passwd中第5行到第10行中所有的/sbin/nologin为/bin/bash
sed -i '5,10s/\/sbin\/nologin/\/bin\/bash/g' passwd
修改/etc/passwd中匹配到/sbin/nologin的行,将匹配到行中的login改为大写的LOGIN
sed -i '/\/sbin\/nologin/s/login/LOGIN/g' passwd
修改/etc/passwd中从匹配到以root开头的行,到匹配到行中包含mail的所有行。修改匹配到的行中的bin修改为HADOOP
sed -i '/^root/,/mail/s/bin/HADOOP/g' passwd
修改/etc/passwd中从匹配到以root开头的行,到第15行中的所有行,修改内容为将这些行中的nologin为SPARK
sed -i '/^root/,15s/nologin/SPARK/g' passwd
修改/etc/passwd中从第15行开始,到匹配到以post开头的所有行,修改这些行中的bin为BIN
sed -i '15,/^post/s/bin/BIN/g' passwd
删除文本中的所有数字
file.txt
Hadoop Spark Flink 3435 1002 Test string
sed -i 's/[0-9]*//g' file.txt