说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

windows下的代码上传至linux服务器上,解决文件后缀名大小写问题

编辑:说三道四文库 发布时间:2018-01-23 10:06
HTML文档下载 WORD文档下载 PDF文档下载
WINDOWS下的大小写不区分,项目工程里很多后缀名有大写,也有小写的,比如*.txt,*.TXT,*.jpg,*.JPG,怎样写一个批处理程序,当上传代码至LINUX服务器时,统一将所有文件的后缀名改为小写?可以给思路,可以给完整实现,谢谢
抢个SF坐坐先
fileList=($(ls));

for((i=0;i<${#fileList[@]};++i))
do
str=${fileList[i]};

#检查是否带后缀
if ! echo "$str" | egrep ".*\..*" ;then
continue;
fi

#提取前缀与后缀,并将后缀转小写
left=${str%.*};
right=`echo ${str#*.} | tr [A-Z] [a-z]`;

#拼接转化后文件名
newName=$left.$right;

#如果转换后和原先文件名相同,则不必重命名
if [ "$newName" = "$str" ];then
continue;
fi

mv ${str} $newName;
done
这个脚本,帮顶下!
应该是用linux的shell脚本写的吧
(在Vim的黑暗中寻找光明~,~) 的脚本缺少了目录部分,lz应该判断是不是目录,写个递归,更改子目录下的文件。
引用 5 楼 zzx902 的回复:
(在Vim的黑暗中寻找光明~,~) 的脚本缺少了目录部分,lz应该判断是不是目录,写个递归,更改子目录下的文件。


额,比较简单。

这样加一句就行了:
#!/bin/bash

fileList=($(ls));
#configure : modify var: shellPath in lower.sh before run it
shellPath=~/lower.sh;

for((i=0;i<${#fileList[@]};++i))
do
    str=${fileList[i]};

if [ -d "$shellPath" ];then
(cd $str;$shellPath;)
fi
    
    #检查是否带后缀
    if ! echo "$str" | egrep ".*\..*" ;then
        continue;
    fi

    #提取前缀与后缀,并将后缀转小写
    left=${str%.*};
    right=`echo ${str#*.} | tr [A-Z] [a-z]`;
    
    #拼接转化后文件名
    newName=$left.$right;

    #如果转换后和原先文件名相同,则不必重命名
    if [ "$newName" = "$str" ];then
        continue;
    fi
    
    mv ${str} $newName;
done





#!/bin/bash

fileList=($(ls));
#configure : modify var: shellPath in lower.sh before run it
shellPath=~/lower.sh;

for((i=0;i<${#fileList[@]};++i))
do
    str=${fileList[i]};

if [ -d "$str" ];then
(cd $str;$shellPath;)
fi
    
    #检查是否带后缀
    if ! echo "$str" | egrep ".*\..*" ;then
        continue;
    fi

    #提取前缀与后缀,并将后缀转小写
    left=${str%.*};
    right=`echo ${str#*.} | tr [A-Z] [a-z]`;
    
    #拼接转化后文件名
    newName=$left.$right;

    #如果转换后和原先文件名相同,则不必重命名
    if [ "$newName" = "$str" ];then
        continue;
    fi
    
    mv ${str} $newName;
done


有个地方写错了。
未来程序员会被机器取代吗? React Native实战(一):配置和起步 集聚MDCC 2015 免费展位第二波正式放出 【深入浅出Koa】入门知识,带你以现代化开发方式构建Web应用 升级到Node V4的七个理由 支持大量ES6特性 ping 错误 1405 打包 怎样获得指向主窗口的指针呢,谢谢 《java core》第六版书上的例子有没有现成的代码? 如何将一列数据从数据库里读出并赋值给一个DataRow或者HashTable 《java core》第六版书上的例子有没有现成的代码? 关于IIS高深莫测的问题 关于C++PRIMER的问题 新手上路,一个很简单的问提 为什么阴天下雨大气压小,晴朗干燥大气压大 已知一种碳原子的质量为mg,另一种原子的质量为ng 300ml等于多少克? 某种植玉米的农场,其收获的玉米籽粒既作为鸡的饲料, 离心风机的出口压力与全压有什么关系?我现在知道气体 已知某元素的一种同位素的n个原子的质量为w克,其摩 什么风机出口压力高?风量30000NM^3/h,压 已知某元素的一种同位素的n个原子的质量为Wg,其摩 250米管道,直径500mm,管道内介质为约300 贝卢斯科尼女友否认系同性恋 索赔千万法德寻求与美就窃听丑闻展开对话中国三大舰队首汇西太平洋 联演常态化中国转型\"旅游输出大国\" 放宽对联合国日中国赴刚果(金)维和官兵展风平度农民被烧死案:死者弟弟改口称与政吉隆坡:马方否认通话记录不正常全球钢铁侠里他最高北京:马方高层团队露面30分钟马英九拒绝 台立法机构冲击者最后通牒天骄逆脉中国式老板霸剑情龙游聊斋穿越之神斧之晶云峰屯堡旅游大南门旅游艋舺旅游平型关战役遗址旅游赵武灵王墓旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘