浏览代码

test: disk used

HeWang 6 月之前
父节点
当前提交
7b0cbab8c6
共有 1 个文件被更改,包括 14 次插入30 次删除
  1. 14 30
      tools/disk/main/main.go

+ 14 - 30
tools/disk/main/main.go

@@ -2,40 +2,25 @@ package main
 
 import (
 	"fmt"
-	"os"
+	"os/exec"
 	"strconv"
+	"strings"
 )
 
 func GetDirectoryDiskUsed(directories []string) (uint64, error) {
-	//cmd := exec.Command("du", "-s")
-	//cmd.Args = append(cmd.Args, directories...)
-	//output, err := cmd.CombinedOutput()
-	//if err != nil {
-	//	fmt.Println(err)
-	//	return 0, err
-	//}
-	//lines := strings.Split(string(output), "\n")
-	//fmt.Println(lines)
-	//sum := uint64(0)
-	//for _, line := range lines {
-	//	fields := strings.Fields(line)
-	//	parseUint, err := strconv.ParseUint(fields[0], 10, 64)
-	//	fmt.Println("parseUint", parseUint)
-	//	if err != nil {
-	//		fmt.Println(err)
-	//		return 0, err
-	//	}
-	//	sum += parseUint
-	//}
+	cmd := exec.Command("du", "-s")
+	cmd.Args = append(cmd.Args, directories...)
+	output, err := cmd.CombinedOutput()
+	if err != nil {
+		fmt.Println(err)
+		return 0, err
+	}
+	lines := strings.Split(string(output), "\n")
 	sum := uint64(0)
-	for _, directory := range directories {
-		fileInfo, err := os.Stat(directory)
-		if err != nil {
-			fmt.Println(err)
-			return 0, err
-		}
-		fmt.Println("fileInfo.Size()", fileInfo.Size())
-		parseUint, err := strconv.ParseUint(strconv.FormatInt(fileInfo.Size(), 10), 10, 64)
+	for _, line := range lines {
+		fmt.Println(line)
+		fields := strings.Fields(line)
+		parseUint, err := strconv.ParseUint(fields[0], 10, 64)
 		fmt.Println("parseUint", parseUint)
 		if err != nil {
 			fmt.Println(err)
@@ -43,7 +28,6 @@ func GetDirectoryDiskUsed(directories []string) (uint64, error) {
 		}
 		sum += parseUint
 	}
-
 	return sum, nil
 }