我在删除最后一个字符时遇到问题。我有这个命令:
df -h | awk 'NR>1 {print$1,$2,$3,$4}'
产生:
directoryname1 40K 0 9.0G
directoryname2 90K 5.0M 78G
directorynamen 0 62M 70G
我发现我可以使用+0
这个命令:
df -h | awk 'NR>1 {print$3+0}'
的产率:
0
5.0
62
如何获得与没有K,M,G的第一个命令相同的结果?
答案 0 :(得分:2)
你自己回答了自己的问题:
df -h | awk 'NR>1 {print$1,$2+0,$3+0,$4+0}'
它起作用,因为字符串是数字的,对于非数字字符串:
df -h | awk 'NR>1 {print$1,substr($2,1,length($2)-1),
substr($3,1,length($3)-1),
substr($4,1,length($4)-1)}'
答案 1 :(得分:1)
我和@AdrianFrühwirth - 你为什么要那样做?或者更确切地说,what are you trying to do?
如果您尝试使用相同的单元获取所有df
个数字且输出中没有该单位,只需使用df
而不使用{{1}获取字节的数量。如果您需要KiB,MiB,GiB或其他一些指标,您可以分别使用-h
,-BK
或-BM
,或查看{{1}中的-BG
格式信息}}