gpt4 book ai didi

linux - 如何获取HDFS配额的逗号/制表符分隔输出?

转载 作者:行者123 更新时间:2023-12-02 20:22:18 25 4
gpt4 key购买 nike

我正在使用下面的命令来检索HDFS配额,但是我不希望出现这种奇怪的输出。相反,我需要将此输出以逗号或制表符分隔的格式存储。默认情况下,它不是用制表符分隔的。.有人可以建议吗?

命令:
hdfs dfs -count -q -h -v /path/to/directory
输出是这样的:

    none             inf           250 G         114.9 G          518        2.8 K             45.0 G /new/directory/X

预期产量:
none,inf,250 G,114.9 G,518,2.8 K,45.0 G,/new/directory/X

最佳答案

如何使用sed。他们的关键是要标识一个唯一的字符串,以标识hdfs输出中的分隔符。可能是制表符,因为您说它们是制表符分隔的。但是,您发布的示例输出使用了空格。

确定唯一字符串后,请使用sed搜索该唯一字符串并将其替换为逗号。在所有情况下,除了行的起点和路径之外,似乎在hdfs输出中,两个或更多个空格对于字段分隔是唯一的。也许您可以接受逗号开头,然后对路径进行sed的第二遍处理。

This Stack Overflow question涵盖了sed替换连续的空格。

hdfs dfs -count -q  -h  -v /path/to/directory | sed -e "s/[[:space:]]\{2,\}/,/g" | sed -e "s/[[:space:]]\//,\//g"

如果它们是选项卡,则解决方案甚至更简单。
hdfs | sed -e $'s/\t/,/g'

关于linux - 如何获取HDFS配额的逗号/制表符分隔输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59675812/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com