动态重命名HDFS目录中的多个文件

时间:2018-07-26 18:45:13

标签: linux hdfs

我在HDFS中有一个目录,其中包含许多如下所示的文件。

_SUCCESS
part-00000
part-00001
part-00002
part-00003
part-00004
part-00005
part-00006

现在我想将以part-number开头的文件重命名为test-number.csv

我已经完成了以下操作

hdfs dfs -mv /user/xxx/dir/part-00000 /user/xxx/dir/test-00000.csv

以此类推

我能够得到想要的东西

有没有办法动态地做到这一点

1 个答案:

答案 0 :(得分:0)

您可以在bash中使用for循环:

Color textColor = Color.Black;
switch (e.Status) {
    case Status.Error: textColor = Color.DarkRed; break;
    case Status.Warning: textColor = Color.DarkGoldenrod; break;
    case Status.Success: textColor = Color.DarkGreen; break;
}
rtb.Select(rtb.TextLength, 0);
rtb.SelectionColor = textColor;
rtb.AppendText($"{e.Message}\n");
rtb.ScrollToCaret();

我使用for n in {0..6} ; do long=$(printf %05d "$n") hdfs dfs -mv /user/xxx/dir/part-"$long" /user/xxx/dir/test-"$long".csv done 格式化数字。