如何在BASH中截断输出?
例如,如果我“du file.name”,我如何才能获得数值而已?
以后补充:
所有解决方案都很完美我选择接受最有启发性的“剪切”答案,因为我更喜欢其他人应该能够阅读的bash文件中最简单的方法。
答案 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
可以直接获取文件的大小。
很难在真空中回答这样的问题,因为我们不知道你将如何使用这些数据。知道这可能暗示一个完全不同的答案。