按新行拆分 du 命令的结果

Split results of du command by new line

我得到了前 20 个 files/folders 占用我硬盘空间最多的列表。我想把它们分成size path/to/file。以下是我到目前为止所做的。

我正在使用:var=$(du -a -g /folder/ | sort -n -r | head -n 20)。它 returns 以下内容:

120    /path/to/file
115    /path/to/another/file
110    /file/path/ 

等等

我已尝试使用以下代码将其拆分为单行。

for i in $(echo $var | sed "s/\n/ /g")
do
    echo "$i"
done

我想要的结果如下:

120 /path/to/file,
115 /path/to/another/file,
110 /file/path/,

等等

然而这是我得到的结果:

120, 
/path/to/file,
115, 
/path/to/another/file,
110, 
/file/path/,

等等

我觉得awk会更简单,可以结合管道到原来的命令:

du -a -g /folder/ | sort -n -r | head -n 20 | awk '{ print ,  "," }'

如果不能创建单个管道,就得用$var

echo "$var" | awk '{ print ,  "," }'