Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何获得HDFS配额的逗号/制表符分隔输出?_Linux_Hadoop_Hdfs - Fatal编程技术网

Linux 如何获得HDFS配额的逗号/制表符分隔输出?

Linux 如何获得HDFS配额的逗号/制表符分隔输出?,linux,hadoop,hdfs,Linux,Hadoop,Hdfs,我正在使用下面的命令来检索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/

我正在使用下面的命令来检索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,250g,114.9g,518,2.8k,45.0g,/new/directory/X
使用sed怎么样。它们的关键是识别一个唯一的字符串,以识别hdfs输出中的分隔符。那可能是tab,因为你说它们是分开的。但是,您发布的示例输出使用了空格

一旦确定了唯一字符串,使用sed搜索该唯一字符串并用逗号替换。看起来,除了行的起点和路径之外,hdfs输出中的字段分隔在所有情况下都是两个或多个空格所独有的。也许您可以接受一个前导逗号并对路径执行第二次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'