递归地“规范化”文件名

时间:2011-01-17 20:59:52

标签: linux

  

可能重复:
  recursively “normalize” filenames

关于pastebin的问:http://pastebin.com/raw.php?i=19iYZpwY 我的意思是摆脱文件名中的特殊字符等
我制作了一个脚本,可以递归重命名文件[http://pastebin.com/raw.php?i=kXeHbDQw]
例如:之前:

这是我的文件(1).txt

运行脚本后:

这-I-S-MY-文件1.txt的

好。这是:

但是:当我想“完全”测试它时,文件名就像这样[http://pastebin.com/raw.php?i=LQ07ntcS]

¤¥|§¨©ª«¬®¯°±²³'μ¶·¸¹º»¼½¾¿ÀÂÃÄÅÆÇÈÊËÌÎÏÐÑÒÔÕ×ØÙUÛUÝÞßàâãäåæçèêëìîïðñòôõ÷øùûýþÿ.txt
áíüűúöőóéÁÍÜŰÚÖŐÓÉ! “#$%&安培;'() +,:;!&LT; =&GT; @ [] ^ _ {|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£.txt<br> <br> it fails [http://pastebin.com/raw.php?i=iu8Pwrnr]:<br> $ sh renamer.sh directorythathasthefiles<br> mv: cannot stat ./áíüűúöőóéÁÍÜŰÚÖŐÓÉ” #$%&安培; \'() +,:;&LT; =&GT; @ [] ^ {|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directorymv: cannot stat ./áíüűúöőóéÁÍÜŰÚÖŐÓÉ“#$%&安培; \'()* +,:?!;?&LT; =&GT; @ [] ^ {|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directorymv: cannot stat ./áíüűúöőóéÁÍÜŰÚÖŐÓÉ“#$%&安培; \'() +,:;&LT; =&GT; @ [] ^ _ {|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directorymv: cannot stat?。 /áíüűúöőóéÁÍÜŰÚÖŐÓÉ “#$%&安培; \'() +,:;!&LT; =&GT; @ [] ^ {|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directorymv: cannot stat ./áíüűúöőóéÁÍÜŰÚÖŐÓÉ”!#$%&安培; \ '()* +,:;&LT; =&GT; @ [] ^ {|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directorymv: cannot stat ./áíüűúöőóéÁÍÜŰÚÖŐÓÉ“#$%&安培; \?!'() +,:;&LT; =&GT; @ [] ^ _ {|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ¡¢£': No such file or directorymv: cannot stat ./áíüűúöőóéÁÍÜŰÚÖŐÓÉ“#$%&安培; \'() +,:;?!?&LT; =&GT; @ [] ^ _`{| }〜€,ƒ“......†....等等 $

所以“mv”无法处理特殊字符..:\
我工作了好几个小时..

有人有工作吗? [也可以处理那2行中的字符[文件名]?]

2 个答案:

答案 0 :(得分:2)

阅读那个剧本几乎是痛苦的......

首先,您应该阅读this

然后你应该阅读bash functions。之后,您应该阅读sedtr

然后您应该考虑这个问题:每次对其名称进行转换时,您是否真的想移动文件?

然后在经过所有这些考虑之后,你应该想出一些有点理智的东西。

答案 1 :(得分:0)

Wtf正在进行中吗?您应该考虑重新设置并关注合理的应用程序和安全性。

然而,如果我正在查看它,你很可能只是遇到了命令参数的最大长度。

如果没有,请安装UTF8语言环境并将其安装为系统默认值。

在基于debian的系统上,这通常只是dpkg-reconfigure locales

的问题

也适用于您的接受率。