【Shell编程练习】把一个文档前五行中包含字母的行删掉,同时删除 6 到 10 行包含的所有字母

本文介绍了如何使用shell脚本进行Linux系统中的文本处理,如删除包含字母的行、监控内存和磁盘容量、以及对网络状态的检测。涉及了多个实用命令如sed和脚本编写技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系列文章目录

输出Hello World
通过位置变量创建 Linux 系统账户及密码
监控内存和磁盘容量,小于给定值时报警
猜大小
输入三个数并进行升序排序
编写脚本测试 192.168.4.0/24 整个网段中哪些主机处于开机状态,哪些主机处于关机状态
编写 shell 脚本,打印 9*9 乘法表
判断用户输入的是 Yes 或 NO



把一个文档前五行中包含字母的行删掉,同时删除 6 到 10 行包含的所有字母

#!/bin/bash
# 文件名为 words.txt
sed -n '1,5p' words.txt | sed '/[a-zA-Z]/d'
sed -n '6,10p' words.txt | sed s'/[a-zA-Z]//g'
sed -n '11,$'p words.txt
#最终结果只是在屏幕上打印结果,如果想直接更改文件,可将输出结果写入临时文件中,再替换2.txt或者使用 -i选项
  • sed -n '1,5p' words.txt | sed '/[a-zA-Z]/d'

    • sed -n '1,5p' words.txt:表示打印第 1 到第 5 行的内容。
    • |:管道操作符,将第一个 sed 命令的输出传递给第二个 sed 命令。
    • sed '/[a-zA-Z]/d':表示删除包含字母的行。
  • sed -n '6,10p' words.txt | sed s'/[a-zA-Z]//g'

    • sed -n '6,10p' words.txt:表示打印第 6 到第 10 行的内容。

    • |:管道操作符,将第一个 sed 命令的输出传递给第二个 sed 命令。

    • sed 's/[a-zA-Z]//g':表示将所有包含字母的字符替换为空字符串。

  • sed -n '11,$'p words.txt

    • -n:表示关闭默认输出,只有经过命令处理的行才会被打印。

    • 11,$p:表示打印第 11 行及之后的所有行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不怕娜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值