如何在BASH中截断输出?
例如,如果我“du file.name”,我怎么才能得到数值,没有更多?
后来增加:
所有的解决scheme完美的工 我select接受最有启发性的“剪切”答案,因为我更喜欢在别人应该能够读取的bash文件中使用最简单的方法。
如果你知道分隔符是什么,那么切断你的朋友
du | cut -f1
剪切默认为制表符分隔符,所以在这种情况下,您正在选择第一个字段。
您可以更改分隔符:cut -d“'将使用空格作为分隔符。 (来自Tomalak )
您还可以选择单个字符的位置或范围:
ls | cut -c1-2
像其他人所说的那样,我建议剪掉。 但另一个有时候很有用的选择是因为它允许任何空格作为分隔符,所以使用awk:
du file.name | awk '{print $1}'
du | cut -f 1
如果您只想要单个文件的字节数,请使用-s
运算符。
SIZE=-s file.name
这给了你一个不同于du
数字,但我不确定你是如何使用这个。
这样做的好处是不必运行du
,并且直接得到文件的大小。
很难在真空中回答这样的问题,因为我们不知道你将如何使用这些数据。 知道这可能意味着一个完全不同的答案。