系列文章目录
输出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 行及之后的所有行。
-