diff --git a/define/ls.go b/define/ls.go index e7f9db4..88545cc 100644 --- a/define/ls.go +++ b/define/ls.go @@ -20,8 +20,8 @@ type LsFileInfo struct { FullPath string `json:"full_path"` // 文件全路径 RelativePath string `json:"relative_path"` // 相对路径 Type string `json:"type"` // 文件类型, 如果为目录, 至为 - , 如果非 .xxx 结尾, 可执行为 bin , 不可执行为 unknown - Total int64 `json:"total"` // 文件总数 Permission *FullPermission `json:"permission"` // 文件权限 + Dir string `json:"dir"` // 文件所属目录 } // FullPermission 文件权限 diff --git a/ls.go b/ls.go index 50d4672..72d2649 100644 --- a/ls.go +++ b/ls.go @@ -63,13 +63,29 @@ func (l *ls) Run() (*define.Result, []define.LsFileInfo) { return result, make([]define.LsFileInfo, 0) } resultStr := string(result.Output) - fileList := strings.Split(resultStr, "\t") + fileList := strings.Split(resultStr, "\n") for _, item := range fileList { - if item == "." || item == ".." { + if item == "." || item == ".." || len(item) == 0 { // 忽略 . 和 .. continue } - fmt.Println(item) + itemArr := strings.Split(item, " ") + if strings.ToLower(itemArr[0]) == "total" { + // 过滤掉对于文件总数的输出 + continue + } + l.parseFileInfo(item) } return result, nil } + +// parseFileInfo 解析文件信息 +// +// Author : go_developer@163.com<白茶清欢> +// +// Date : 17:35 2022/6/27 +func (l *ls) parseFileInfo(fileLine string) *define.LsFileInfo { + fileInfoArr := strings.Split(fileLine, " ") + fmt.Println("文件信息 : ", fileInfoArr) + return nil +}