2008-10-27 123 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可以直接獲取文件的大小。

很難在真空中回答這樣的問題,因爲我們不知道你將如何使用數據。知道這可能表明一個完全不同的答案。