智用指南
霓虹主题四 · 更硬核的阅读氛围

5个超实用的Shell脚本实战项目,搞定日常重复操作

发布时间:2026-02-11 03:30:33 阅读:13 次

早上赶时间,要同时打开邮箱、待办清单、日历和项目文档?下班前总忘记压缩当天工作文件并备份到U盘?下载一堆照片想自动按日期建文件夹归类?这些事不用点十几次鼠标,写个几行Shell脚本,一键跑完。

1. 自动整理桌面照片

手机相册导出后全堆在桌面,手动拖太累。这个脚本会扫描桌面所有.jpg/.png文件,按拍摄日期新建文件夹归类:

#!/bin/bash
cd ~/Desktop
for img in *.jpg *.png; do
[ -f "$img" ] || continue
date_str=$(stat -f "%Sm" -t "%Y-%m-%d" "$img" 2>/dev/null || \
exiftool -d "%Y-%m-%d" -DateTimeOriginal "$img" 2>/dev/null | awk -F': ' '/Date/ {print $2}')
[ -n "$date_str" ] && mkdir -p "photos_$date_str" && mv "$img" "photos_$date_str/"
done

保存为 sort-photos.sh,终端运行 chmod +x sort-photos.sh && ./sort-photos.sh,两秒搞定。

2. 每日备份小工具

写完周报、改完PPT,顺手备份到移动硬盘?不用打开Finder再拖拽。把下面这段粘进文本编辑器,存成 backup-today.sh

#!/bin/bash
src="$HOME/Documents/work"
dst="/Volumes/MyBackup/daily/$(date +%Y%m%d)"
mkdir -p "$dst"
rsync -av --delete "$src/" "$dst/"
echo "✅ 已备份至 $dst"

插上U盘后双击运行(或终端执行),自动同步当天最新版。

3. 清理微信缓存垃圾

Mac版微信越用越卡?缓存文件藏在 ~/Library/Containers/com.tencent.xinWeChat/Data/Library/Caches,动辄几个G。这个脚本只删7天前的缓存,不碰聊天记录:

#!/bin/bash
cache_dir="$HOME/Library/Containers/com.tencent.xinWeChat/Data/Library/Caches"
find "$cache_dir" -type f -mtime +7 -delete
echo "🧹 清理完成,释放空间:$(du -sh "$cache_dir" | cut -f1)"

4. 批量重命名下载文件

从网页批量下载PDF课件,名字全是乱码或编号。想统一改成「课程名_第X讲.pdf」?先用 ls 看顺序,再运行:

#!/bin/bash
i=1
for file in *.pdf; do
[ -f "$file" ] || break
mv "$file" "Python入门_第${i}讲.pdf"
((i++))
done

改下引号里的中文,下次换「AI绘画_第X课」也是一样逻辑。

5. 天气+日程一句话播报

晨间摸鱼前,敲一行命令,听今天天气和待办事项:

#!/bin/bash
weather=$(curl -s "wttr.in/Shanghai?format=%c+%t" | tail -n1)
todo=$(grep -E '^\[ \]|^\[x\]' ~/Documents/todo.md | head -3)
echo "🌤️ $weather"
echo "📝 待办:"
echo "$todo" | sed 's/\[ \]/○/; s/\[x\]/✓/'

配合系统快捷键(如Alfred或Automator),绑定成「cmd+alt+w」,每天睁眼就听见。

脚本不是程序员专利,就像用计算器代替心算——省下的时间,够你多泡一杯茶,多看两页书,或者干脆多赖五分钟床。