0

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

编辑我希望文件名看起来像任何东西abdllwlaslf,但它们需要没有下划线。我知道当我不使用下划线时我的选择是有限的,但就我而言,这就是我所需要的。

4

2 回答 2

1

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

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

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

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

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

于 2012-08-20T20:36:29.567 回答
1

假设只是将 0 替换为 a,将 1 替换为 b 等,您可以使用tr

$ echo 42344234_1341264574_2134234 | tr 0123456789_ abcdefghij
ecdeecdejbdebcgefhejcbdecde

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

于 2012-08-20T21:03:16.177 回答