sed常用选项的简单介绍

一. sed的基本用法
1.sed 命令 -n 选项的用法
sed -n '1p' /etc/passwd (显示passwd文件的第一行,不加n则会全部显示,p是打印)
sed '1,4d' /etc/passwd (d删除,删除passwd的1-4行内容,并显示删除后的内容)
2.sed 命令 -i 选项的用法
正常情况下sed命令,只是把处理的结果显示打印到屏幕上,而不会真的修改原始文件;只有
加了-i 选项后才会取修改原始文件;
3.sed 选项后面跟多个指令时,可以用;(分号)隔开;
sed -n '1p;5p' /etc/passwd 显示第一行和第五行
4.认识sed工具p输出操作
sed -n '/local$/p' 1.txt 输出以local结尾的行
sed -n 'p;n' 1.txt 输出基数行
sed -n 'n;p' 1.txt 输出偶数行
sed -n '5,$p' 1.txt 输出从第五行到最后一行
sed -n '$=' 1.txt 输出文本的总行数
5.sed工具的d输出操作(不要加-n)
sed '3,5d' 1.txt 删除3-5行
sed '/init/d' 1.txt 删除包含init所有的行
sed '/init/d;/bin/d' 1.txt 删除所有包含init和bin的行
sed '/init/!d' 1.txt 删除不包含init的行
sed '$d' 1.txt 删除最后一行
sed '/^$/d' 1.txt 删除文件中所有的空行
6.sed工具的s替换操作
sed 's/ll/AA/' 1.txt 将所有行的第一个ll替换为AA
sed 's/ll/AA/g' 1.txt 将所有行的ll替换为AA
sed '3s/script/SCRIPT/2' 1.txt 将第三行内的第二个script替换为SCRIPT
sed 's/init//g' 1.txt 删除所有的init字符
sed 's/script|init\e//g' 删除所有的script init e 的字符
sed '3,5s/^#//' 1.txt 解除3到5行的#注释
sed '6,7s/^/#/' 1.txt 给6到7行添加注释
7.sed的扩展
sed 's/.//2;s/.$//' 1.txt 删除每行的第二个字符和最后一个字符
sed -r 's/^(.)(.)(.)/\2\1\3/' 把每行的第一个字符和第二个字符互换
sed -r 's/[0-9]//g;s/^( )+//' 1.txt 把文件中所有数字,和首行空格删除;
sed 's/[A-Z]/(&)/g' 1.txt 把文件中每个大写字母添加括号
二.使用sed修改系统配置
1.修改IP地址 /etc/sysconfig/network-scripts/ifcfg-eth0
sed '/^IPADDR/s/192.168.1.1/172.25.10.1/' 1.txt (第一种方法)
sed -r '/^IPADDR/s/192.168.1.(.
)/172.25.10.\1/' 1.txt (第二种)
2.调整web根目录(由于需要替换的字符串中有 / ,为了避免与sed替换操作的分隔混淆,可以使用其他字符作为替换分隔,比如可改用“s#old#new#”的方式实现替换)
sed 's#/var/www/html#/var/www/web#' 1.txt

转载于:https://blog.51cto.com/lingxudong/2068319

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值