type
status
date
slug
summary
tags
category
icon
password
1、输入运行下列脚本,给出运行截图。
教材P69 脚本4-4、脚本4-5
- 脚本4-4

- 按照个人编程习惯做了简略的语法上的修改,不影响原意思

- 授权

- 运行结果如下所示

- 脚本4-5

- 程序如下所示

- 程序分析:在myfile中搜索是否包含“GNU”,结果重定向到“黑洞”设备,即屏蔽输出结果,只关心执行。
- 运行结果如下所示

- 创建myfile文件

- 重新运行

- 说明:一开始创建了myfile.txt还是未查找到,将文件修改文myfile即可。即
myfile
不能匹配myfile.txt
。
在Linux系统中:
- 文件名必须完全匹配,大小写、扩展名、空格都必须一致。
- 文件扩展名在 Linux 中不是必须的,但一旦你加了,它就被认为是文件名的一部分。
- grep "GNU" myfile*可以模糊匹配所有以myfile开头的文件
如果此时我直接创建myfile,则:
- 这个文件没有扩展名!
文件的扩展名(如
.txt
, .sh
, .jpg
等)只是文件名的一部分,完全是人为添加的。系统不会自动加扩展名,也不会默认设定扩展名。- 文件类型靠内容决定,而不是扩展名。

2、下列shell程序的功能与运行的结果是什么?(截图)

- 查找过去 5 天内修改、大小大于 1MB 的文件。
3、编写shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stuxx,其中xx从01到30。
- 编写的shell程序

执行结果如下图所示:

检查发现已创建成功!

4、编写shell程序, 判断指定目录下所有文件类型,显示目录与文件项,并统计目录与文件数。
- 统计目录与文件的shell程序
- 具体编写如下所示

写程序时遇到的小错误
- file_count=0 “=”号中间不能有小空格
- “ [ ] ”、 “ -f ”即方括号、指令周围必须有空格
- 注意命名前后拼写!
我选择查看当前目录下的目录和文件数,程序输出如下:

5、文件record.txt记录了学生的成绩,格式如下:
Name course1 course2 course3
Tom 80 90 95
John 70 80 85
……
试编写一个shell程序cal_rec.sh,统计学生总分与等级,并将结果输出到文件cal_rec.txt。成绩等级定义如下:若总分大于等于255,则等级为“A“;若总分介于225与255之间,则等级为”B”;若总分小雨225,则等级为”C”。cal_rec.txt文件格式如下:
Name total level
Tom 265 A
John 235 B
- 首先创建record.txt

- 编写cal_rec.sh程序
- 编写如下所示

- 执行过程如下所示

- 输出结果到cal_rec.txt

- 发现标题一行未输入到txt,修改如下,加上了重定向输出

- 输出正确

- 修改record.txt

- 输出符合题目要求

- Author:Koreyoshi
- URL:https://Koreyoshi1216.com/article/1d1c7b13-c6a7-8041-845d-c761deaeabf9
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts