我列出了硬盘上占用最多空间的前20个文件/文件夹。我想将它们分成size path/to/file
。下面是我到目前为止所做的。
我正在使用:var=$(du -a -g /folder/ | sort -n -r | head -n 20)
。它返回以下内容:
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/,
等
答案 0 :(得分:1)
我认为awk
会更容易,并且可以与原始命令的管道结合使用:
du -a -g /folder/ | sort -n -r | head -n 20 | awk '{ print $1, $2 "," }'
如果您无法创建单个管道,而必须使用$ var
echo "$var" | awk '{ print $1, $2 "," }'