sed命令

文章目录

  • -i∶直接修改读取的档案内容,而不是由萤幕输出。(原内容改变)
  • -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来(原内容不会改变)
    a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行插入)
    sed ‘1a drink tea’ ab #第一行后增加字符串"drink tea"
    c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行
    p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作
    s 替换∶,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法
    #取代
    i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行插入)
    sed “2i\oldboy” person.txt #在第2行前面插入oldboy
    匹配字符‘/ /,/ /p’[root@oldboyedu ~]# sed -n ‘/^ root/,/^halt/p’ /etc/passwd
    sed -n ‘/ruby/p’ ab | sed ‘s/ruby/bird/g’ #替换ruby为bird
    sed -n ‘1s#root#oldboy#gp’ 2.txt # 把第一行的root替换为oldboy
    sed -n ‘/root/s#root#oldboy#gp’ 2.txt # 把匹配到的root行 进行替换
    [root@oldboyedu oldboy]# sed ‘1d;2d;4d’ person.txt
    103,Alex,COO
    105,feixue,CIO #显示删除1,2,4行内容,中间用分号
    sed ‘1,2d’ ab #删除第一行到第二行
    sed ‘1a drink tea’ ab #第一行后增加字符串"drink tea"
    sed ‘1,3a drink tea’ ab #第一行到第三行后增加字符串"drink tea"
  • -r:使用正则
    sed -r n ‘s#(oldboy)(oldgirl)(boy)#\1\2\3#gp’ oldboy.txt
    其中,\1表示第一个括号的内容,即oldboy,\2表示第二个括号的内容,即oldgirl,\3表示第三个括号的内容,
  • 1次或 1次以上
    ? 0次或1次
  • 例子

[root@centos7 tmp]# cat -n /etc/fstab | sed -n ‘2,6p’ #显示第2到第6行
2 #
3 # /etc/fstab
4 # Created by anaconda on Tue Jul 30 12:52:31 2019
5 #
6 # Accessible filesystems, by reference, are maintained under ‘/dev/disk’
[root@centos7 tmp]# cat -n /etc/fstab|sed -n ‘2p;6p’ #显示第2行和 第6行
2 #
6 # Accessible filesystems, by reference, are maintained under ‘/dev/disk’
sed ‘/hello/aworld\nwestos’ westos 表示在含有hello 后面一行追加 world westos,但是有\n表示换行
sed ‘/hello/iworld\nwestos’ westos 表示在含有hello行的前面插入world westos,\n表示换行
sed ‘/hello/cwestos\nworld’ westos 表示把含有hello的行替换为westos world,\n表示换行
替换框架 sed -i "1,3s# 要修改的 # 修改成的 # ’ 1.txt

  • 编辑/etc/passwd文件,把所有的字符串/sbin/nologin替换成/bin/bash(请使用sed命令)

/要转义

  • 批量创建10个用户(student01 student02 … student10),
    并且十个用户要设置初始密码
    初始密码必须是随机数(6位随机数)
    利用一条命令完成操作(sed)
    在这里插入图片描述
    sed

sed
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值