如何截断BASH中的输出?在BASH中截断输出
例如,如果我“du file.name”我怎么才能得到数值而没有更多?
后来增加:
所有的解决方案都很完美。我选择接受最有启发性的“剪切”答案,因为我更喜欢在其他人应该能够阅读的bash文件中使用最简单的方法。
如何截断BASH中的输出?在BASH中截断输出
例如,如果我“du file.name”我怎么才能得到数值而没有更多?
后来增加:
所有的解决方案都很完美。我选择接受最有启发性的“剪切”答案,因为我更喜欢在其他人应该能够阅读的bash文件中使用最简单的方法。
如果你知道是什么,然后分隔符切割是你的朋友
du | cut -f1
切默认选项卡分隔符所以在这种情况下,您选择的第一个字段。
您可以更改分隔符:cut -d''将使用空格作为分隔符。 (从Tomalak)
您也可以选择单个字符的位置或范围:
ls | cut -c1-2
du | cut -f 1
我建议削减,正如其他人说。但另一种替代方案,有时是有用的,因为它允许任何空格作为分隔符,是用awk:
du file.name | awk '{print $1}'
如果你只是想要一个单一文件的字节数,使用-s
操作。
SIZE=-s file.name
这让你比du
不同的号码,但我不知道你想利用这个究竟如何。
这样做的好处是无需运行du
,并且bash
可以直接获取文件的大小。
很难在真空中回答这样的问题,因为我们不知道你将如何使用数据。知道这可能表明一个完全不同的答案。
打我20秒:) :) – Ken 2008-10-27 10:39:35
打我30秒:)我删除了我的重复答案,并添加了替代答案。 – 2008-10-27 10:41:43
我更喜欢关于分隔符和范围的更多信息,因为他仅以du为例。然后,我会很高兴地删除:) – Ken 2008-10-27 10:44:44