三剑客sed命令总结

sed
概述:按照每行中的字符串进行操作处理。可以修改调整删除。
具体功能:
1、文中添加信息的能力
2、文中删除信息的能力
3、文中查询信息的能力
4、文中修改信息的能力

参数
-n 寂静模式
-i 直接编辑源文件
-r 扩展正则
d 删除匹配到的行
a append 在指定信息后面附加信息
c 替换修改指定的一行信息

sed语法格式
sed 参数 条件+处理 处理的文件信息
sed -n ‘/oldboy/p’ oldboy.txt
-n 寂静模式(抑制执行过程中的冗余信息)
p 打印匹配行

一、擦寻信息方法
创建测试环境:
cat >person.txt<<EOF
101,oldboy,CEO
102,zhaoyao,CTO
103,Alex,COO
104,yy,CFO
105,feixue,CIO
EOF

显示单行信息
sed -n ‘3p’ person.txt
103,Alex,COO

根据行号信息,输出多行内容(连续)
sed -n ‘1,3p’ person.txt
101,oldboy,CEO
102,zhaoyao,CTO
103,Alex,COO
根据行号,不连续输出信息
sed -n ‘1p;3p’ person.txt

根据文件内容进行查询
查找oldboy行
sed -n ‘/oldboy/p’ person.txt

连续输出哪一行到哪一行
sed -n ‘/oldboy/,/alex/p’ person.txt

将所有有关oldboy和alex的信息输出
sed -n ‘/oldboy/p;/alex/p’ person.txt

二、添加信息方法
在文件的第一行添加信息100,oldboy,UFO
sed ‘1i100,oldboy,UFO’ person.txt

在文件的最后一行添加108,oldgirl,UFO
sed ‘$a108,oldgirl,UFO’ person.txt

在文件第三行后面添加oldboy.txt
sed ‘3aoldboy.txt’ person.txt

在文件第二行前面添加oldboy.txt
sed ‘2ioldboy.txt’ person.txt

在有oldboy前面添加oldgirl后面添加olddog
sed -e ‘/oldboy/ioldgirl’ -e ‘/oldboy/aolddog’ person

在文件中添加多行信息
sed ‘$a100\n101’ person.txt
\n:回车

三、删除信息方法
删除第三行
sed ‘3d’ person.txt

连续删除多行信息(删除3~6行信息)
sed ‘3,6d’ person.txt

删除带有oldboy的信息
sed ‘/oldboy/d’ person.txt

不连续删除多行信息(只删除第三行和第六行)
sed ‘3d;6d’ person.txt

取消空行显示
sed -n ‘/$^/!p’ person.txt

sed -n ‘/$^/d’ person.txt

四、修改信息的能力

sed ‘s#原有内容#要修改成什么#g’

修改扩展名
ls oldboy*.txt|sed -r ‘s#(.*)txt#mv & \1jpg#g’

& 表示使用前面用到的oldboy*.txt
\1 表示使用前面用到的oldboy*.

替换指定一行信息
sed ‘2coldboyedu -sz-01’ person.txt
将第二行替换为coldboyedu -sz-01

使用sed命令创建10个用户

echo oldboy{01..10}|xargs -n1|sed -r 's#(.*)#useradd \1#g'|bash

使用sed命令创建10个用户并且设置密码

seq -w 10|sed -r 's#(.*)#useradd oldboy\1;echo 123456|passwd --stdin oldboy\1#g'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值