如何截斷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