2.编写shell脚本test02.sh实现如下功能:读取class.txt中的内容,根据内容设计脚本,在mytest02目录中创建以班级名称命名的目录,在每个班级目录中创建以每个学号命名的txt文件。(class.txt的内容入下图所示)
时间: 2024-03-29 10:42:13 浏览: 61
可以尝试以下脚本实现:
```
#!/bin/bash
while read line; do
class=$(echo $line | cut -d" " -f1)
mkdir -p ./mytest02/$class
students=$(echo $line | cut -d" " -f2-)
for student in $students; do
touch ./mytest02/$class/$student.txt
done
done < class.txt
```
脚本中使用 `while` 循环读取 `class.txt` 文件中的每一行,并通过 `cut` 命令提取出班级名称和学生名单。然后使用 `mkdir -p` 命令创建以班级名称命名的目录,并使用 `for` 循环遍历学生名单,使用 `touch` 命令在每个班级目录中创建以每个学号命名的 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文件,并放在班级目录中。
7.编写shell脚本test07.sh实现如下功能:生成一个长度为50的随机数组,将其中的偶数当前目录下的mytest07目录中的abc.txt中。
好的,请按照以下步骤操作:
1. 首先在当前目录下创建一个名为mytest07的文件夹,可以使用以下命令:
```
mkdir mytest07
```
2. 然后编写shell脚本test07.sh,可以使用以下代码:
```bash
#!/bin/bash
# 生成长度为50的随机数组
arr=()
for ((i=0;i<50;i++))
do
arr[i]=$((RANDOM%100))
done
# 将偶数写入abc.txt文件中
for ((i=0;i<50;i++))
do
if [[ $((arr[i]%2)) -eq 0 ]]
then
echo ${arr[i]} >> ./mytest07/abc.txt
fi
done
```
3. 接着给test07.sh文件执行权限,可以使用以下命令:
```
chmod +x test07.sh
```
4. 最后执行test07.sh脚本,可以使用以下命令:
```
./test07.sh
```
执行完成后,当前目录下的mytest07目录中的abc.txt文件中将会包含随机数组中的所有偶数。
阅读全文