2.编写shell脚本test02.sh实现如下功能:读取class.txt中的内容,根据内容设计脚本,在mytest02目录中创建以班级名称命名的目录,在每个班级目录中创建以每个学号命名的txt文件。(class.txt的内容入下图所示)
时间: 2024-03-26 12:38:28 浏览: 114
好的,根据您的要求,我已经记录下来了。以下是实现该功能的shell脚本test02.sh的代码:
```bash
#!/bin/bash
while read line; do
class_name=$(echo $line | cut -d " " -f 1)
student_id=$(echo $line | cut -d " " -f 2)
mkdir -p mytest02/$class_name
touch mytest02/$class_name/$student_id.txt
done < class.txt
```
这个脚本的主要思路是:使用while循环逐行读取class.txt文件中的内容,然后使用cut命令将每行内容分割成班级名称和学号两部分,并将班级名称和学号分别赋值给变量$class_name和$student_id。接着,使用mkdir命令创建以班级名称命名的目录,使用touch命令在每个班级目录中创建以每个学号命名的txt文件。最后,将class.txt文件中的所有行都读取完毕后,脚本执行完毕。
注意事项:
1. 在运行脚本之前,需要先在当前目录下创建mytest02目录。
2. class.txt文件中每行的班级名称和学号之间需要用空格分隔。
相关问题
编写shell脚本test02.sh实现如下功能:读取class.txt中的内容,根据内容设计脚本,在mytest02目录中创建以班级名称命名的目录,在每个班级目录中创建以每个学号命名的txt文件
好的,我理解了您的要求。以下是实现该功能的shell脚本test02.sh:
```shell
#!/bin/bash
# 读取class.txt并逐行处理
while read line
do
# 获取班级名称和学生列表
class=$(echo $line | awk '{print $1}')
students=$(echo $line | awk '{print $2}')
# 在mytest02目录中创建班级目录
mkdir mytest02/$class
# 循环处理每个学生
for student in $students
do
# 在班级目录中创建以学号命名的txt文件
touch mytest02/$class/$student.txt
done
done < class.txt
```
这个脚本会逐行读取class.txt文件,每行格式为“班级名称 学生列表”,然后根据班级名称在mytest02目录中创建一个以该名称命名的目录。接着,它会循环处理每个学生,创建一个以学号命名的txt文件,并放在班级目录中。
阅读全文
相关推荐













