编写脚本,实现文件分类的功能。

news/2025/3/6 7:59:47/

1.判断用户的家目录($HOME)下是否存在 file_dir 这个目录文件

如果存在,则询问用户是否清空,如果用户输入的是Y,则清空该目录文件

如果用户输入的不是 Y 则不清空,退出脚本(exit)

如果不存在,则新建该目录文件

#! /bin/bash file_name="file_dir"full_path="$HOME/$file_name"#判断家目录下是否有file_dir文件
if [ -d "$full_path" ] 
thenread -p "存在file_dir文件,是否清空该目录?(Y/N)" resif [ "$res" = "Y" ]then# 删除目录下所有文件和子目录rm -f "$full_path"/*echo "file_dir文件已清空"elseecho "退出脚本"exit 0fi
else# 没有就创建mkdir -p "$full_path"echo "已创建file_dir文件"
fi

2.判断用户的家目录($HOME)下是否存在 dir_dir 这个目录文件

如果存在,则询问用户是否清空,如果用户输入的是Y,则清空该目录文件

如果用户输入的不是 Y 则不清空,退出脚本(exit)

如果不存在,则新建该目录文件

dir_name="dir_dir"dir_path="$HOME/$dir_name"# 判断目录是否存在
if [ -d "$dir_path" ]
then# 目录存在,询问用户是否清空read -p "存在dir_dir文件,是否清空该目录?(Y/N): " user_choiceif [ "$user_choice" = "Y" ]then# 清空目录内容rm -rf "$dir_path"/*echo "$dir_name 目录已清空。"else# 退出脚本echo "脚本退出。"exit 0fi
else# 创建mkdir -p "$dir_path"echo "已成功创建。"asdidasd
fi

3.输入一个指定的路径 (最好是绝对路径)

将该路径下的所有普通文件都拷贝到 file_dir 中

将该路径下的所有目录文件都拷贝到 dir_dir 中

并分别统计操作了多少个目录文件 和 多少个普通文件

# 提示用户输入指定路径
read -p "请输入一个指定的路径: " source_path# 检查输入的路径是否存在
if [ ! -e "$source_path" ]; thenecho "该路径不存在,退出脚本。"exit 1
fi# 定义目标目录
file_dir="$HOME/file_dir"
dir_dir="$HOME/dir_dir"# 如果不存在就创建
mkdir -p "$file_dir"
mkdir -p "$dir_dir"# 定义计数器
file_count=0
dir_count=0for item in "$source_path"/*; doif [ -f "$item" ]; then# 普通文件拷贝到 file_dircp "$item" "$file_dir"((file_count++))elif [ -d "$item" ]; then# 目录拷贝到 dir_dircp -r "$item" "$dir_dir"((dir_count++))fi
doneecho "成功拷贝了 $file_count 个普通文件到 $file_dir。"
echo "成功拷贝了 $dir_count 个目录文件到 $dir_dir。"


http://www.ppmy.cn/news/1577016.html

相关文章

数据流图(实例)

数据流图(DFD)结构 1. 外部实体 用户:系统的核心使用者。 管理员:负责内容审核和系统维护。 数据库:存储所有数据。 2. 主要数据流 用户输入: 注册/登录数据(用户名、密码)。 …

MR30分布式IO携手PLC实现手工作业产线自动化升级

在制造业不断追求高效、精准与智能化的背景下,手工作业产线面临着提升生产效率、降低人力成本、保障产品质量稳定性等诸多挑战。明达技术通过引入MR30分布式 IO 模块配合可编程逻辑控制器(PLC),能够对手工作业产线进行有效的自动化…

《Python百练成仙》31-40章(不定时更新)

第卅一章 函数结丹def开紫府 罗酆山的鬼门关吞吐着猩红的变量阴风,每个风眼都涌动着作用域混乱的灵力乱流。叶军手握薛香遗留的丹田玉简,玉简表面浮现出残缺的函数符文: def 凝聚金丹(灵气):道基 灵气 * 0.618print(金丹品质) # 作用域外变…

C++海康相机DEMO

非标设备经常用到相机算法,利用工作之余时间,结合海康相机demo写一套全面的相机应用,图像处理常用的有halcon 、 opencv , MIL , visionpro,这里采用目前比较常用的halcon和opencv对相机图片算法处理。整个…

基于JavaWeb开发的java+springboot+mybatis 网上商城项目设计和实现

基于JavaWeb开发的javaspringbootmybatis 网上商城项目设计和实现 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各…

Uniapp使用wxml-to-canvas进行动态页面转图片

参考文章链接:https://www.cnblogs.com/liangtao999/p/16719534.html 官方的链接:https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/extended/component-plus/wxml-to-canvas.html 一、引入组件: 1、方法一&#…

蓝桥杯4T平台(按键调整数量)

知识点:按键(控制变量改变)LCD 定义变量 uint8_t key_val,key_up,key_down,key_old; uint16_t X2,Y2,T; char buf[21]; 函数声明 uint8_t key_scan(void); void key_proc(void); void lcd_Proc(void); 按键 //按键扫描 uint8_t key_sca…

R语言绘图:韦恩图

韦恩分析 韦恩分析(Venn Analysis)常用于可视化不同数据集之间的交集和并集。维恩图(Venn diagram),也叫文氏图、温氏图、韦恩图、范氏图,用于显示元素集合重叠区域的关系型图表,通过图形与图形…