linux修改文件名命令(linux修改文件名长度限制)

带中文名称的文件传输到linux下面,往往会显示为乱码,这个是由于windows和linux的编码不同的原因
本文通过对文件名称重新编码解决乱码的问题
大概思路:
  得到乱码显示的文件列表数组
  使用gbk进行编码成字节码,再用utf8来查看,得到非乱码的文件列表数组
  用得到的非乱码的文件名来替换乱码的文件,
  通过以上步骤即可完成乱码文件名的修复
  
具体代码:

#!/usr/bin/env bash
#需要两个括号哦
files=($(ls))  
#需要两个括号哦,用gbk的编码来显示utf8,gbk是window下编码的
renames=($(ls | iconv -fGBK -tUTF8))
# ${!files[@]} 为数组的下标集合对象   0  1  2  3  4  
for i in "${!files[@]}"; do
echo "${files[i]} --> ${renames[i]}"
done
echo -n "Are you sure?[y/n]"
read ok
case $ok in
y | Y | yes)
for i in "${!files[@]}"; do
  #改变文件名称
mv "${files[i]}" "${renames[i]}"
done
echo Ok, bye
;;
*)
echo Bye
;;
esac

解决企业获客难题,添加 微信:hvq698  备注:获客

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 792114587@qq.com 举报,一经查实,本站将立刻删除。
如若转载,请注明出处:https://www.qiked.com/6885.html