linux sed 命令实践

sed是Linux/Unix下的字符流编辑器,用于快速处理文本内容,如增删改查。本文介绍了sed的基本语法和常用选项,包括-n、-i、-e和-r,以及内置命令如p、d、s、a、i等。通过实例展示了如何筛选特定行、替换字符串、追加内容等。同时,还讲解了如何结合正则表达式进行更复杂的文本处理,如过滤和替换。sed的强大功能使得它在文本处理任务中不可或缺。
摘要由CSDN通过智能技术生成

sed

说明
sed 是stream editor(字符流编辑器)的缩写,sed是操作,过滤和转换文本内容的强大工具,常用功能有对文件实现快速增删改查,其中查询功能中最常用的是过滤(过滤指定字符串)和取行(取出指定行)。

语法格式
sed 【选项】 【sed内置命令字符串】 【输入文件】

options【选项】解释说明
-n取消默认sed 的输出,常与sed内置命令的p连用输出想要内容
-i直接修改文件内容,而不是输出到终端,修改前备份 -i.bak
-e允许多次编辑
-r支持扩展正则表达式

内置命令符
p 全拼print,表示打印匹配行内容,通常p会与选项-n 一起使用
d 删除行
= 显示行号
s 替换
g 全局
a 追加
i 当前行追加,原来行移至下一行
$ 表示最后一行
案例文本

I am dalei teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
our site is http://www.baidu.com
my qq num is 584839659

not 4900000448.
my god ,i am not dalei, but DALEI!

  1. 取文本第二到四行:sed -n '2,4p' dalei.txt

  2. 取文本第二行:sed -n '2p' dalei.txt

  3. 过滤出包含有dalei字符串行:

  1. grep dalei dalei.txt
  2. sed -n '/dalei/p' dalei.txt
  1. 删除含有dalei字符串的行:sed '/dalei/d' dalei.txt
  2. 删除2-4行:sed '2,4d' dalei.txt
  3. 直接修改文件内容 sed -i.bak '/dalei/d' dalei.txt
  4. 替换文件中 dalei 为 xiaolei:`sed -n ‘s#dalei#xiaolei#p’ dalei.txt
  5. 在文本第二行追加666字符串:sed '2a 6668' dalei.txt
  6. 在文本第二行追加999字符串:sed '2i 88899' dalei.txt
  7. 在文本中插入两行:sed '2i A\nB' dalei.txt
  8. sed 正则获取ip ifconfig eth0 |sed -rn '2s#^.*net ##gp'|sed -rn 's# net.*$##gp'
  9. sed -e 多次编辑减少管道使用次数(使用的比较少) ifconfig eth0 |sed -ne '2s#^.*net ##g' -ne 's# net.*$##gp'
  10. 用sed将/etc/passwd文件的第一行至最后一行重定向到 /dalei.txt:sed -n '1,$'p /etc/passwd >dalei.txt
  11. 批量创建dalei01…dalei10个用户,并将用户前的数字作为该用户密码:seq -w 10|sed -r 's#(.*)#useradd oldboy\1;echo \1|passwd --stdin oldboy\1#g'|bash
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值