把当前目录下的所有文件名由大写(或小写)字母改为小写
Bash:
#! /bin/sh # Usage: ./low.sh <-l | -u> <target_directory> #./low.sh -l directory 为全部转化为小写 #./low.sh -u directory 为全部转化为大写 # # 第二形参必须是目录,第一形参指定-l或-u # if [ $# -ne 2 ] ; then echo "Usage: ${0} <-l | -u> <target_directory>" exit 1 fi if [ ! -d ${2} -o "${1}" != "-l" -a "${1}" != "-u" ] ; then echo "Usage: ${0} <-l | -u> <target_directory>" exit 1 fi dir=`dirname "${2}"` cd ${dir} > /dev/null 2>&1 if [ $? -ne 0 ] ; then echo "Error: checking your ${dir}" exit 1 fi exec 1>/dev/null 2>&1 if [ "${1}" = "-l" ] ; then base=`basename "${2}" | tr "[A-Z]" "[a-z]"` else base=`basename "${2}" | tr "[a-z]" "[A-Z]"` fi mv -f "`basename ${2}`" "${base}" > /dev/null 2>&1 for entry in `find ${base}` do before="." for after in `echo "${entry}" | sed -e 's,/, ,g'` do tmp_entry="${before}/${after}" if [ "${1}" = "-l" ] ; then before=`echo "${tmp_entry}" | tr "[A-Z]" "[a-z]"` else before=`echo "${tmp_entry}" | tr "[a-z]" "[A-Z]"` fi mv -f "${tmp_entry}" "${before}" done done
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 如果单表数据量大,只能考虑分库分表吗?
· 一款让 Everything 更加如虎添翼的 .NET 开源辅助工具!
· (原创)[开源][.Net Framework 4.5] SimpleMVVM(极简MVVM框架)更
· 冲压车间软件实施
· 干货分享!MCP 实现原理,小白也能看懂