2008-10-27 99 views
8

如何截断BASH中的输出?在BASH中截断输出

例如,如果我“du file.name”我怎么才能得到数值而没有更多?

后来增加:
所有的解决方案都很完美。我选择接受最有启发性的“剪切”答案,因为我更喜欢在其他人应该能够阅读的bash文件中使用最简单的方法。

回答

11

如果你知道是什么,然后分隔符切割是你的朋友

du | cut -f1 

切默认选项卡分隔符所以在这种情况下,您选择的第一个字段。

您可以更改分隔符:cut -d''将使用空格作为分隔符。 (从Tomalak

您也可以选择单个字符的位置或范围:

ls | cut -c1-2 
6
du | cut -f 1 
+0

打我20秒:) :) – Ken 2008-10-27 10:39:35

+0

打我30秒:)我删除了我的重复答案,并添加了替代答案。 – 2008-10-27 10:41:43

+0

我更喜欢关于分隔符和范围的更多信息,因为他仅以du为例。然后,我会很高兴地删除:) – Ken 2008-10-27 10:44:44

10

我建议削减,正如其他人说。但另一种替代方案,有时是有用的,因为它允许任何空格作为分隔符,是用awk:

du file.name | awk '{print $1}' 
1

如果你只是想要一个单一文件的字节数,使用-s操作。

SIZE=-s file.name 

这让你比du不同的号码,但我不知道你想利用这个究竟如何。

这样做的好处是无需运行du,并且bash可以直接获取文件的大小。

很难在真空中回答这样的问题,因为我们不知道你将如何使用数据。知道这可能表明一个完全不同的答案。