实验21报告:Shell脚本统计文件与目录数量及字节数;回文字符串检测。
需积分: 0 130 浏览量
更新于2024-01-27
收藏 5.39MB PDF 举报
在本次实验中,我完成了两个题目的设计和实现,同时也遇到了一些问题,并采取了相应的解决方法。下面是我对这次实验的讨论和心得总结。
首先,我完成了第一个题目的设计。该题目要求编写一个shell脚本,统计指定目录下的普通文件、子目录及可执行文件的数目,并统计该目录下所有普通文件字节数总和。我首先通过参数传入目录的路径名,并使用find命令在该目录下搜索普通文件、子目录和可执行文件,然后使用wc命令统计它们的数量。为了统计普通文件字节数总和,我使用了du命令,并通过管道将结果传递给awk命令来进行求和。最后,我将结果输出并保存为截图。
在实现过程中,我遇到了一些问题。首先,当我在脚本中使用find命令时,我忘记指定参数来限制搜索的对象。为了解决这个问题,我查阅了相关的帮助文档,并将正确的参数添加到了find命令中。其次,在使用du命令时,我没有正确理解其输出结果的格式,导致我无法使用awk命令对字节数进行求和。为了解决这个问题,我重新查阅了du命令的帮助文档,并找到了正确的输出格式选项。通过这些问题的解决,我最终成功完成了第一个题目的设计和实现。
接下来,我完成了第二个题目的设计。该题目要求编写一个shell脚本,输入一个字符串,并忽略(删除)非字母后,检测该字符串是否为回文。我首先通过read命令获取用户输入的字符串,并使用sed命令删除其中的非字母字符。然后,我使用rev命令将删除非字母字符后的字符串进行反转,并通过if语句判断反转后的字符串是否与原字符串相同。最后,我输出判断结果并保存为截图。
在实现过程中,我遇到了一些问题。首先,我在使用sed命令时,没有正确指定删除非字母字符的正则表达式模式。为了解决这个问题,我查阅了相关的帮助文档,并使用正确的模式进行了修改。其次,在使用if语句进行判断时,我忘记加上条件判断符号“-eq”。为了解决这个问题,我仔细检查了if语句的语法,并进行了修改。通过这些问题的解决,我最终成功完成了第二个题目的设计和实现。
通过这次实验,我学习了Bourne shell的shell脚本的基本概念,并学会了shell程序的执行方法。通过编写脚本,我也掌握了编写Bourne shell脚本程序的方法。同时,我在实验过程中遇到了一些问题,但通过查阅相关文档和仔细思考,我成功地解决了这些问题。通过这次实验,我不仅学到了知识,还培养了解决问题的能力。通过撰写实验报告,我巩固了实验内容,并提高了文档编写的能力。
总之,通过这次实验,我增加了对shell脚本的理解和掌握,并学会了编写和执行shell程序的方法。同时,我也在实验过程中遇到了一些问题,但通过查阅文档和思考解决了这些问题。我相信这次实验对我的学习和提高具有很大的帮助和意义。
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2022-08-03 上传
2021-06-05 上传
2019-08-16 上传
点击了解资源详情
2024-11-18 上传
郑瑜伊
- 粉丝: 23
- 资源: 317
最新资源
- 基于Python和Opencv的车牌识别系统实现
- 我的代码小部件库:统计、MySQL操作与树结构功能
- React初学者入门指南:快速构建并部署你的第一个应用
- Oddish:夜潜CSGO皮肤,智能爬虫技术解析
- 利用REST HaProxy实现haproxy.cfg配置的HTTP接口化
- LeetCode用例构造实践:CMake和GoogleTest的应用
- 快速搭建vulhub靶场:简化docker-compose与vulhub-master下载
- 天秤座术语表:glossariolibras项目安装与使用指南
- 从Vercel到Firebase的全栈Amazon克隆项目指南
- ANU PK大楼Studio 1的3D声效和Ambisonic技术体验
- C#实现的鼠标事件功能演示
- 掌握DP-10:LeetCode超级掉蛋与爆破气球
- C与SDL开发的游戏如何编译至WebAssembly平台
- CastorDOC开源应用程序:文档管理功能与Alfresco集成
- LeetCode用例构造与计算机科学基础:数据结构与设计模式
- 通过travis-nightly-builder实现自动化API与Rake任务构建