当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 10 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 求助,批量备份文件并转码的问题
帖子发表于 : 2010-10-26 20:38 

注册: 2010-10-25 13:13
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
我现在在/home 下的很多子目录下面 有很多cue文件,都是GB2312的编码,现在想转换成utf-8,然后又希望可以在转码之前对这些cue文件进行备份

1.cue文件可能存在/home的任意多层到子目录中
2.cue文件名可能各不相同
3.希望能对每个cue文件,首先复制一个[file_name]_back.cue在同一目录下,如:CDimage.cue 复制为 CDimage_back.cue
4.希望对于每个cue文件(不包括上一步备份出来的),执行enconv(iconv很多日文和繁体字符转换不了,enconv我已经装了,并且测试过可以完美转换)

万分感谢


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 求助,批量备份文件并转码的问题
帖子发表于 : 2010-10-26 20:46 
头像

注册: 2010-09-13 19:04
帖子: 1404
地址: 0xFF00EE
送出感谢: 1
接收感谢: 3
我都是用vim转换编码的,uft8和gbk转的很happy


_________________
qq旋风离线空间下载程序
漂亮的fcitx皮肤
Fcitx皮肤合集


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 求助,批量备份文件并转码的问题
帖子发表于 : 2010-10-26 20:47 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
find /home/xxxx -iname *.cue -exec cp {} /home/xxx/tmp \; -exec enconv {} \;
多看看man。这没测试的。大概这样。


_________________
● 鸣学


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 求助,批量备份文件并转码的问题
帖子发表于 : 2010-10-26 21:00 

注册: 2010-10-25 13:13
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
find /home/xxxx -iname *.cue -exec cp {} /home/xxx/tmp \; -exec enconv {} \;
多看看man。这没测试的。大概这样。


XXXX 所什么意思啊


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 求助,批量备份文件并转码的问题
帖子发表于 : 2010-10-26 21:04 

注册: 2010-10-25 13:13
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
find /home/xxxx -iname *.cue -exec cp {} /home/xxx/tmp \; -exec enconv {} \;
多看看man。这没测试的。大概这样。


我想把备份的文件放在和源文件相同到文件夹 如何做到呢?


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 求助,批量备份文件并转码的问题
帖子发表于 : 2010-10-26 21:28 
头像

注册: 2008-12-09 12:44
帖子: 3864
地址: 北京
送出感谢: 0 次
接收感谢: 2
eexpress 写道:
find /home/xxxx -iname *.cue -exec cp {} /home/xxx/tmp \; -exec enconv {} \;
多看看man。这没测试的。大概这样。

老板,不灵啊……
代码:
pity@online:~/test/rename$ ls
a.cue  b.cue  c.cue  d.cue  e.cue
pity@online:~/test/rename$ find . -iname *.cue -exec ls {} -l \;
find: 路径必须在表达式之前: b.cue
用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
pity@online:~/test/rename$ find /home/pity/test/rename/ -iname *.cue -exec ls {} -l \;
find: 路径必须在表达式之前: b.cue
用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
pity@online:~/test/rename$


_________________
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 求助,批量备份文件并转码的问题
帖子发表于 : 2010-10-26 21:49 
头像

注册: 2008-12-09 12:44
帖子: 3864
地址: 北京
送出感谢: 0 次
接收感谢: 2
代码:
pity@online:~/test/rename$ find . -iname *.cue -exec ls {} \;
find: 路径必须在表达式之前: 七八.cue
用法: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]

find 后跟的路径居然不能是当前路径? :em20
代码:
pity@online:~/test/rename$ cd ..
pity@online:~/test$ find . -iname *.cue -exec ls {} \;
./rename/七八.cue
./rename/e.cue
./rename/三四.cue
./rename/tmp/七八.cue
./rename/tmp/e.cue
./rename/tmp/三四.cue
./rename/tmp/一二.cue
./rename/tmp/五六.cue
./rename/一二.cue
./rename/五六.cue
pity@online:~/test$ find rename/ -iname *.cue -exec ls {} \;
rename/七八.cue
rename/e.cue
rename/三四.cue
rename/tmp/七八.cue
rename/tmp/e.cue
rename/tmp/三四.cue
rename/tmp/一二.cue
rename/tmp/五六.cue
rename/一二.cue
rename/五六.cue

跳到上级目录在 find 后加上下级目录再查找居然可以…… :em20
代码:
pity@online:~/test$ cd rename/
pity@online:~/test/rename$ find . *.cue -exec ls {} \;
e.cue  tmp  七八.cue  三四.cue   五六.cue  一二.cue
./七八.cue
./e.cue
./三四.cue
e.cue  七八.cue  三四.cue  五六.cue  一二.cue
./tmp/七八.cue
./tmp/e.cue
./tmp/三四.cue
./tmp/一二.cue
./tmp/五六.cue
./一二.cue
./五六.cue
e.cue
七八.cue
三四.cue
五六.cue
一二.cue

在当前目录下去掉 -iname 选项居然就可以…… :em20


_________________
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 求助,批量备份文件并转码的问题
帖子发表于 : 2010-10-27 10:38 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
没事多带“”跑。
多看man


_________________
● 鸣学


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 求助,批量备份文件并转码的问题
帖子发表于 : 2010-10-27 10:46 
头像

注册: 2008-12-09 12:44
帖子: 3864
地址: 北京
送出感谢: 0 次
接收感谢: 2
eexpress 写道:
没事多带“”跑。
多看man

代码:
pity@online:~/test/rename$ find . -iname "*.cue" -exec ls {} \;
./七八.cue
./e.cue
./三四.cue
./tmp/七八.cue
./tmp/e.cue
./tmp/三四.cue
./tmp/一二.cue
./tmp/五六.cue
./一二.cue
./五六.cue

我又死心眼儿了…… :em20


_________________
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接


页首
 用户资料  
 
10 楼 
 文章标题 : Re: 求助,批量备份文件并转码的问题
帖子发表于 : 2010-11-09 19:43 
头像

注册: 2008-12-09 12:44
帖子: 3864
地址: 北京
送出感谢: 0 次
接收感谢: 2
有如下文件名乱码文件:
代码:
pity@online:~/data/文档/11-11/test$ ls
10. DZˮ??.JPG         18.??һ???ĵ?????.JPG  25. ֽ????˯??Ҳ??????.JPG  3.  ң?ص???.JPG
11. ????????.JPG     19. ˮ??.JPG          26 Ӳ??????.JPG          4. ??һ????????.JPG
12. ?????ķ?.JPG      1. ??дīˮ??ʵ?ܼ???.JPG  27. ???еı???.JPG        5. ʯī????.JPG
13. ??Ŭ??????.JPG    20. ???ƻ???ˮĤ.JPG    28. ?ᶨ??Ǧ??.JPG         6. ??????????.JPG
14. ????ʵ??.JPG      21. ?ɳڵĸ?????.JPG    29. ??ת?IJ???????.JPG    7. ????????ˮ.JPG
15. ??????Сֽ??.JPG    22. ?÷?????????.JPG  2. ??ȼ?յķ???.JPG        8. ???????????η???.JPG
16. ???·籩??Ӳ??.JPG  23. ??????֮??.JPG     30. ???εĽ???.JPG        9. û??Σ?յĸ?ѹ??.JPG
17. ˮ?е?Ӳ??.JPG      24. ˮ?еļ???.JPG      31.?????????̱?.JPG

enconv 不行,可能没写什么参数吧,不过我尝试探测文件名的编码,与探测不到:
代码:
pity@online:~/data/文档/11-11/test$ find -exec enconv {} \;
enconv: Cannot open file `.' in mode r+b: Is a directory
enconv: Cannot convert `./11. ��������.JPG' from unknown encoding
enconv: Cannot convert `./15. ������Сֽ��.JPG' from unknown encoding
enconv: Cannot convert `./10. DZˮ��.JPG' from unknown encoding
enconv: Cannot convert `./7. ��������ˮ.JPG' from unknown encoding
enconv: Cannot convert `./27. ���еı���.JPG' from unknown encoding
enconv: Cannot convert `./31.���������̱�.JPG' from unknown encoding
enconv: Cannot convert `./6. ����������.JPG' from unknown encoding
enconv: Cannot convert `./20. ���ƻ���ˮĤ.JPG' from unknown encoding
enconv: Cannot convert `./30. ���εĽ���.JPG' from unknown encoding
enconv: Cannot convert `./5. ʯī����.JPG' from unknown encoding
enconv: Cannot convert `./13. ��Ŭ������.JPG' from unknown encoding
enconv: Cannot convert `./29. ��ת�IJ�������.JPG' from unknown encoding
enconv: Cannot convert `./9. û��Σ�յĸ�ѹ��.JPG' from unknown encoding
enconv: Cannot convert `./16. ���·籩��Ӳ��.JPG' from unknown encoding
enconv: Cannot convert `./21. �ɳڵĸ�����.JPG' from unknown encoding
enconv: Cannot convert `./3.  ң�ص���.JPG' from unknown encoding
enconv: Cannot convert `./19. ˮ��.JPG' from unknown encoding
enconv: Cannot convert `./2. ��ȼ�յķ���.JPG' from unknown encoding
enconv: Cannot convert `./17. ˮ�е�Ӳ��.JPG' from unknown encoding
enconv: Cannot convert `./26 Ӳ������.JPG' from unknown encoding
enconv: Cannot convert `./1. ��дīˮ��ʵ�ܼ���.JPG' from unknown encoding
enconv: Cannot convert `./28. �ᶨ��Ǧ��.JPG' from unknown encoding
enconv: Cannot convert `./23. ������֮��.JPG' from unknown encoding
enconv: Cannot convert `./25. ֽ����˯��Ҳ������.JPG' from unknown encoding
enconv: Cannot convert `./14. ����ʵ��.JPG' from unknown encoding
enconv: Cannot convert `./4. ��һ��������.JPG' from unknown encoding
enconv: Cannot convert `./22. �÷���������.JPG' from unknown encoding
enconv: Cannot convert `./12. �����ķ�.JPG' from unknown encoding
enconv: Cannot convert `./8. �������������.JPG' from unknown encoding
enconv: Cannot convert `./18.��һ���ĵ�����.JPG' from unknown encoding
enconv: Cannot convert `./24. ˮ�еļ���.JPG' from unknown encoding

引用:
19:30 < caleb-> pityonline: 改名就用 convmv
19:33 < caleb-> pityonline: 用 convmv 一劳永逸

代码:
pity@online:~/data/文档/11-11/test$ convmv -f gbk -t utf8 *.JPG
Your Perl version has fleas #37757 #49830
Starting a dry run without changes...
mv "./10. DZˮ��.JPG"   "./10. 潜水罩.JPG"
mv "./11. ��������.JPG"   "./11. 封锁空气.JPG"
mv "./12. �����ķ�.JPG"   "./12. 拐弯的风.JPG"
mv "./13. ��Ŭ������.JPG"   "./13. 贝努利定律.JPG"
mv "./14. ����ʵ��.JPG"   "./14. 降落实验.JPG"
mv "./15. ������Сֽ��.JPG"   "./15. 反射的小纸球.JPG"
mv "./16. ���·籩��Ӳ��.JPG"   "./16. 不怕风暴的硬币.JPG"
mv "./17. ˮ�е�Ӳ��.JPG"   "./17. 水中的硬币.JPG"
mv "./18.��һ���ĵ�����.JPG"   "./18.不一样的导热体.JPG"
mv "./19. ˮ��.JPG"   "./19. 水丘.JPG"
mv "./1. ��дīˮ��ʵ�ܼ���.JPG"   "./1. 密写墨水其实很简单.JPG"
mv "./20. ���ƻ���ˮĤ.JPG"   "./20. 被破坏的水膜.JPG"
mv "./21. �ɳڵĸ�����.JPG"   "./21. 松弛的附着力.JPG"
mv "./22. �÷���������.JPG"   "./22. 用肥皂当动力.JPG"
mv "./23. ������֮��.JPG"   "./23. 葡萄粒之舞.JPG"
mv "./24. ˮ�еļ���.JPG"   "./24. 水中的鸡蛋.JPG"
mv "./25. ֽ����˯��Ҳ������.JPG"   "./25. 纸做的睡莲也会绽放.JPG"
mv "./26 Ӳ������.JPG"   "./26 硬币陷阱.JPG"
mv "./27. ���еı���.JPG"   "./27. 塔中的宝藏.JPG"
mv "./28. �ᶨ��Ǧ��.JPG"   "./28. 坚定的铅笔.JPG"
mv "./29. ��ת�IJ�������.JPG"   "./29. 旋转的玻璃弹球.JPG"
mv "./2. ��ȼ�յķ���.JPG"   "./2. 会燃烧的方糖.JPG"
mv "./30. ���εĽ���.JPG"   "./30. 变形的金属.JPG"
mv "./31.���������̱�.JPG"   "./31.发声的酸奶杯.JPG"
mv "./3.  ң�ص���.JPG"   "./3.  遥控点火.JPG"
mv "./4. ��һ��������.JPG"   "./4. 做一个电磁铁.JPG"
mv "./5. ʯī����.JPG"   "./5. 石墨导体.JPG"
mv "./6. ����������.JPG"   "./6. 带电的气球.JPG"
mv "./7. ��������ˮ.JPG"   "./7. 会拐弯的水.JPG"
mv "./8. �����������η���.JPG"   "./8. 胡椒和盐如何分离.JPG"
mv "./9. û��Σ�յĸ�ѹ��.JPG"   "./9. 没有危险的高压电.JPG"
No changes to your files done. Use --notest to finally rename the files.

原来 convmv 默认只是显示转码后结果而不真正转码,好吧,加上 --notest 选项:
代码:
pity@online:~/data/文档/11-11/test$ convmv -f gbk -t utf8 *.JPG --notest
Your Perl version has fleas #37757 #49830
mv "./10. DZˮ��.JPG"   "./10. 潜水罩.JPG"
mv "./11. ��������.JPG"   "./11. 封锁空气.JPG"
mv "./12. �����ķ�.JPG"   "./12. 拐弯的风.JPG"
mv "./13. ��Ŭ������.JPG"   "./13. 贝努利定律.JPG"
mv "./14. ����ʵ��.JPG"   "./14. 降落实验.JPG"
mv "./15. ������Сֽ��.JPG"   "./15. 反射的小纸球.JPG"
mv "./16. ���·籩��Ӳ��.JPG"   "./16. 不怕风暴的硬币.JPG"
mv "./17. ˮ�е�Ӳ��.JPG"   "./17. 水中的硬币.JPG"
mv "./18.��һ���ĵ�����.JPG"   "./18.不一样的导热体.JPG"
mv "./19. ˮ��.JPG"   "./19. 水丘.JPG"
mv "./1. ��дīˮ��ʵ�ܼ���.JPG"   "./1. 密写墨水其实很简单.JPG"
mv "./20. ���ƻ���ˮĤ.JPG"   "./20. 被破坏的水膜.JPG"
mv "./21. �ɳڵĸ�����.JPG"   "./21. 松弛的附着力.JPG"
mv "./22. �÷���������.JPG"   "./22. 用肥皂当动力.JPG"
mv "./23. ������֮��.JPG"   "./23. 葡萄粒之舞.JPG"
mv "./24. ˮ�еļ���.JPG"   "./24. 水中的鸡蛋.JPG"
mv "./25. ֽ����˯��Ҳ������.JPG"   "./25. 纸做的睡莲也会绽放.JPG"
mv "./26 Ӳ������.JPG"   "./26 硬币陷阱.JPG"
mv "./27. ���еı���.JPG"   "./27. 塔中的宝藏.JPG"
mv "./28. �ᶨ��Ǧ��.JPG"   "./28. 坚定的铅笔.JPG"
mv "./29. ��ת�IJ�������.JPG"   "./29. 旋转的玻璃弹球.JPG"
mv "./2. ��ȼ�յķ���.JPG"   "./2. 会燃烧的方糖.JPG"
mv "./30. ���εĽ���.JPG"   "./30. 变形的金属.JPG"
mv "./31.���������̱�.JPG"   "./31.发声的酸奶杯.JPG"
mv "./3.  ң�ص���.JPG"   "./3.  遥控点火.JPG"
mv "./4. ��һ��������.JPG"   "./4. 做一个电磁铁.JPG"
mv "./5. ʯī����.JPG"   "./5. 石墨导体.JPG"
mv "./6. ����������.JPG"   "./6. 带电的气球.JPG"
mv "./7. ��������ˮ.JPG"   "./7. 会拐弯的水.JPG"
mv "./8. �����������η���.JPG"   "./8. 胡椒和盐如何分离.JPG"
mv "./9. û��Σ�յĸ�ѹ��.JPG"   "./9. 没有危险的高压电.JPG"
Ready!

Done!
代码:
pity@online:~/data/文档/11-11/test$ ls
10. 潜水罩.JPG             20. 被破坏的水膜.JPG        30. 变形的金属.JPG
11. 封锁空气.JPG           21. 松弛的附着力.JPG        31.发声的酸奶杯.JPG
12. 拐弯的风.JPG           22. 用肥皂当动力.JPG        3.  遥控点火.JPG
13. 贝努利定律.JPG         23. 葡萄粒之舞.JPG          4. 做一个电磁铁.JPG
14. 降落实验.JPG           24. 水中的鸡蛋.JPG          5. 石墨导体.JPG
15. 反射的小纸球.JPG       25. 纸做的睡莲也会绽放.JPG  6. 带电的气球.JPG
16. 不怕风暴的硬币.JPG     26 硬币陷阱.JPG             7. 会拐弯的水.JPG
17. 水中的硬币.JPG         27. 塔中的宝藏.JPG          8. 胡椒和盐如何分离.JPG
18.不一样的导热体.JPG      28. 坚定的铅笔.JPG          9. 没有危险的高压电.JPG
19. 水丘.JPG               29. 旋转的玻璃弹球.JPG
1. 密写墨水其实很简单.JPG  2. 会燃烧的方糖.JPG


_________________
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 10 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译