重命名包含数字cygwin的文件

时间:2012-08-20 06:00:10

标签: linux file cygwin rename

我在我的文件夹中存储了许多图像,其中一些图像有12412421_3843114_12412412等文件名。有200-300个这样的文件,我希望能够分配一个简单的a-zA-Z类序列,即没有数字或下划线。我怎样才能在cygwin中做到这一点?

编辑我希望文件名看起来像abdllwlaslf,但它们必须是没有下划线。我知道当我不使用下划线时我的选择是有限的,但对于我的情况,这就是我所需要的全部。

2 个答案:

答案 0 :(得分:1)

它不会产生非常漂亮的文件名,但从技术上讲,这可以做你想要的......

for i in $( find . -regex ".*/[0-9_]+$" ) ; do mv $i $( basename $i | sed 'y/0123456789_/ABCDEFGHIJK/' ) ; done

使用上述文件,名为12412421_3843114_12412412的文件将变为BCEBCECBKDIEDBBEKBCEBCEBC。如果您愿意,可以在sed替换中调整字符。

请注意,必须在相关文件夹中运行上述命令。

在真正的Linux系统上,使用rename命令可以更有效地完成此操作,但在Cygwin中使用rename并没有取得很好的成功。

答案 1 :(得分:1)

假设只用a替换0,用b等替换1,你可以使用tr

$ echo 42344234_1341264574_2134234 | tr 0123456789_ abcdefghij
ecdeecdejbdebcgefhejcbdecde

而不是echo,只需管道您的文件名并使用结果进行重命名。

相关问题