截断BASH中的输出

时间:2008-10-27 10:35:44

标签: linux bash

如何在BASH中截断输出?

例如,如果我“du file.name”,我如何才能获得数值而已?

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

4 个答案:

答案 0 :(得分:11)

如果您知道分隔符是什么,那么剪切是您的朋友

du | cut -f1

将默认值剪切为制表符分隔符,因此在这种情况下,您将选择第一个字段。

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

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

ls | cut -c1-2

答案 1 :(得分:10)

我推荐切割,正如其他人所说的那样。但另一种有时候有用的替代方法是使用awk:

,因为它允许任何空格作为分隔符
du file.name | awk '{print $1}'

答案 2 :(得分:6)

du | cut -f 1

答案 3 :(得分:1)

如果您只想要单个文件的字节数,请使用-s运算符。

SIZE=-s file.name

这会给你一个不同于du的数字,但我不确定你是如何使用它的。

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

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