统计指定目录文件数的Shell脚本
需积分: 0 174 浏览量
更新于2024-01-14
收藏 2.8MB PDF 举报
实验21报告
实验项目名称:Shell程序设计
学生姓名:王子腾
专业:软件工程
学号:3180102173
实验日期:2020年8月18日
实验环境:
计算机配置:
处理器:Intel Core i7-8550 CPU @ 1.80GHz 1.99Ghz
内存:8GB DDR4 2400MHz
硬盘:128GB PCle固态硬盘 1TB硬盘
显卡:NVIDIA GeForce 150MX
操作系统环境:Windows 10家庭中文版、Linux版本:Ubuntu 18.04
一、 实验目的
通过编写Shell脚本,实现统计指定目录下的普通文件、子目录和可执行文件的数目,以及输入一个字符串,忽略并删除非字母字符的功能。
二、 实验内容和结果及分析
1. 编写Shell脚本,统计指定目录下的普通文件、子目录及可执行文件的数目
首先,根据题目要求,编写了一个Shell脚本用于统计指定目录下的普通文件、子目录及可执行文件的数目。该脚本通过使用`find`命令将指定目录下的文件和子目录遍历出来,并分别统计其数量,最终输出统计结果。
```shell
#!/bin/bash
# 统计指定目录下的普通文件、子目录和可执行文件的数目
echo "请输入要统计的目录路径:"
read path
# 统计普通文件数量
file_num=$(find $path -type f | wc -l)
echo "普通文件数量:$file_num"
# 统计子目录数量
dir_num=$(find $path -type d | wc -l)
echo "子目录数量:$dir_num"
# 统计可执行文件数量
exe_num=$(find $path -type f -executable | wc -l)
echo "可执行文件数量:$exe_num"
```
执行该脚本,输入要统计的目录路径后,即可得到统计结果,验证了脚本的正确性。
2. 编写一个Shell脚本,输入一个字符串,忽略(删除)非字母字符
其次,根据题目要求,编写了一个Shell脚本,用于输入一个字符串后,忽略并删除非字母字符。该脚本通过使用`sed`命令和正则表达式,删除输入字符串中的非字母字符,并输出处理后的字符串。
```shell
#!/bin/bash
echo "请输入一个字符串:"
read input_str
# 删除非字母字符
new_str=$(echo $input_str | sed 's/[^a-zA-Z]//g')
echo "处理后的字符串:$new_str"
```
执行该脚本,输入一个字符串后,即可得到处理后的字符串,验证了脚本的正确性。
三、结论
通过本次实验,我成功编写了两个Shell脚本,分别实现了统计指定目录下的普通文件、子目录和可执行文件的数目,以及输入一个字符串后,忽略并删除非字母字符。在实验过程中,我熟练掌握了Shell脚本的编写和运行方法,加深了对Linux命令和正则表达式的理解,提高了对Shell程序设计的实践能力。同时,实验还检验了我的编程能力和解决问题的能力,为我今后的学习和工作打下了良好的基础。
坐在地心看宇宙
- 粉丝: 32
- 资源: 330
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查