linux至 sed命令实际工作需求整理【linux系统中删除一个文件种包含指定字符串的所有行、空行】

一、需求:

我如果有几百个文件,需要将含有指定字符串的行删除,我如何做呐?

最后找的一个sed命令。可以很方便的解决我的问题。

我之前整理过一次linux常用命令的文章,这个算是一个补充吧。

由于,我每次更改原来的文章,再保存,再发布就审核不通过了,不知道是不是CSDN的问题还是咋回事???

所以以后文章我只能新写一个,老的文章粘贴到前面吧。
整理一些linux命令必须熟练掌握常的命令(复习+扩展学习Linux命令)

二、实战:

菜鸟教程学习参考:

sed命令常用到的两个选项:

-i : 直接在文件上编辑、修改 (edit files in place)
-e[默认选项]:只在命令行输出,而文件不改变 【可以用来测试】

下面我会以-i为例,应为实际我要修改原文件。

1、sed命令删除特定行号

删除第N行
sed -i ‘Nd’ filename

比如:删除第五行

# 修改原文件
sed -i '5d' test.txt
# 控制台输出,测试使用
sed -e '5d' test.txt

源文件:
在这里插入图片描述

为了方便演示,我这里使用-e来控制台显示,如果实际需要修改文件,改为-i即可。
在这里插入图片描述

2、删除第N~M行

sed -i ‘N,Md’ filename
file的[N,M]行都被删除

还是以上面的测试数据来测试:

# 修改原文件
sed -i '3,5d' test.txt
# 控制台输出,测试使用
sed -e '3,5d' test.txt

可以查看出,3-5行数据删除了

在这里插入图片描述

3、删除最后一行

sed -i ‘$d’ filename

上面的测试文件最后有空行,我给删除了,不然测试控制台输出看不出来。

在这里插入图片描述

4、删除包含"xxx"的行

sed -i ‘/xxx/d’ filename

其实这个就是我想找的命令,可以将我的文件不管多少号,将含有的字符串的行删除。

sed -i '/mkdir/d' test.txt
sed -e '/mkdir/d' test.txt

在这里插入图片描述

5、删除空行

将一个文件的所有空行删除
sed -e '/^$/d' test.txt 

在这里插入图片描述

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhaojiafu666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值