几个用来解决特定文件名乱码的脚本

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
YeLee
论坛版主
帖子: 26408
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

几个用来解决特定文件名乱码的脚本

#1

帖子 YeLee » 2013-01-28 18:36

这两个脚本也写了一段时间了,比较简单,重要的是没加了错误判断,目前也仅适合学习用途,哪位高手有空的过来调一下吧。 :em09 :em09 :em09
目前也仅支持单文件,至于递归之类的高级操作,大家还是配合find之类的东西解决吧。 :em01 :em01 :em01
[bash]
cat ~/bin/iconvmv
#!/bin/bash
[ $# -gt 0 ] || echo "Usage : $0 filename"
while [ $# -gt 0 ]
do
for i in "$1"
do
mv "$1" "$(echo $1 |iconv -t ISO-8859-1 |iconv -f GBK)"
done
shift
done
[/bash]
[bash]
cat ~/bin/urlefmv
#!/bin/bash
[ $# -gt 0 ] || echo "Usage : $0 filename"
while [ $# -gt 0 ]
do
for i in "$1"
do
mv "$1" "$(echo $1 |perl -MURI::Escape -ne 'print uri_unescape($_)')"
done
shift
done
[/bash]
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
cuihao
帖子: 4793
注册时间: 2008-07-24 11:33
来自: 郑州
送出感谢: 1 次
接收感谢: 89 次
联系:

Re: 几个用来解决特定文件名乱码的脚本

#2

帖子 cuihao » 2013-01-28 18:43

:em11 LZ糕兽!
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
头像
枫叶饭团
论坛版主
帖子: 14685
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
送出感谢: 1 次
接收感谢: 132 次
联系:

Re: 几个用来解决特定文件名乱码的脚本

#3

帖子 枫叶饭团 » 2013-01-28 19:06

cuihao 写了::em11 LZ糕兽!
头像
b33e
论坛版主
帖子: 3866
注册时间: 2011-06-07 14:20
系统: Mint18
送出感谢: 16 次
接收感谢: 62 次

Re: 几个用来解决特定文件名乱码的脚本

#4

帖子 b33e » 2013-01-28 19:19

cuihao 写了::em11 LZ糕兽!
头像
yjcong
帖子: 2470
注册时间: 2006-02-28 3:11
送出感谢: 0
接收感谢: 0

Re: 几个用来解决特定文件名乱码的脚本

#5

帖子 yjcong » 2013-01-28 19:52

用iconv -f GB2312 -t UTF-8 input.txt -o output.txt 转整个文档常出问题,

那个perl的不知怎么写, 呼唤阿姨
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
头像
YeLee
论坛版主
帖子: 26408
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

Re: 几个用来解决特定文件名乱码的脚本

#6

帖子 YeLee » 2013-01-28 20:01

乃们这群愚昧无知的人类,过来踩场就直接说啊。蜀黍我让乃们踩,他日,乃们必将受到吾主之审判。 :em01 :em01 :em01
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
头像
yjcong
帖子: 2470
注册时间: 2006-02-28 3:11
送出感谢: 0
接收感谢: 0

Re: 几个用来解决特定文件名乱码的脚本

#7

帖子 yjcong » 2013-01-28 20:03

装perl-text-iconv 之后,

piconv -f gbk -t UTF-8 input.txt output.txt
效果大好, 但还是有错误
一梦三年,
松风依旧,
萝月何曾老.


灵幽听微, 谁观玉颜?
灼灼春华, 绿叶含丹.
头像
chenjietao
帖子: 130
注册时间: 2010-09-21 1:50
送出感谢: 7 次
接收感谢: 7 次

Re: 几个用来解决特定文件名乱码的脚本

#8

帖子 chenjietao » 2013-04-02 0:34

第一个代码改进一下,可以同时改zip解压后的乱码文件名。
[bash]cat ~/bin/iconvmv
#!/bin/bash
[ $# -gt 0 ] || echo "Usage : $0 filename"
while [ $# -gt 0 ]
do
for i in "$1"
do
if [ "$(echo $1 |iconv -t ISO-8859-1 2>/dev/null)" ]; then
mv "$1" "$(echo $1 |iconv -t ISO-8859-1 |iconv -f GBK)"
else
mv "$1" "$(echo $1 |iconv -f GBK)"
fi
done
shift
done
[/bash]
头像
YeLee
论坛版主
帖子: 26408
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
送出感谢: 25 次
接收感谢: 307 次
联系:

Re: 几个用来解决特定文件名乱码的脚本

#9

帖子 YeLee » 2013-04-02 20:42

楼上给力啊。 :em11 :em11 :em11
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
回复

回到 “Shell脚本”