Linux命令行操作:学生信息排序、筛选和统计

假设在Linux中randstu.txt文本文件保存了学生信息,需要使用命令实现以下功能:

  1. randstu.txt中学生信息行按照学号排序,并在每行前面加上行号,最后将结果输出到一个新文件stu.txt中。

    命令实现:

sort -k1 randstu.txt | awk '{print NR " " $0}' > stu.txt


**解释:**

* `sort`命令按照第一列(学号)排序,`-k1`表示按照第一列排序。
* `awk`命令在每行前面添加行号,并将结果输出到`stu.txt`文件中。

2. **组合使用`head`和`tail`命令,输出`stu.txt`中第11~20名同学的信息。**

**命令实现:**

```bash
head -n 20 stu.txt | tail -n 10

解释:

  • head命令输出前20行,tail命令输出其中的后10行,即第11~20名同学的信息。
  1. 分别统计男生和女生的人数。

    命令实现:

grep '男' stu.txt | wc -l grep '女' stu.txt | wc -l


**解释:**

* `grep`命令筛选出包含'男'或'女'的行,`|`表示管道,将结果传递给`wc`命令。
* `wc`命令统计行数,`-l`表示只显示行数,不显示其他信息,即分别统计男生和女生的人数。
Linux命令行操作:学生信息排序、筛选和统计

原文地址: https://www.cveoy.top/t/topic/oOcl 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录