过滤结果中的total, 规划解析文件信息

This commit is contained in:
白茶清欢 2022-06-27 17:35:57 +08:00
parent 25274b9ad5
commit 5617bb7761
2 changed files with 20 additions and 4 deletions

View File

@ -20,8 +20,8 @@ type LsFileInfo struct {
FullPath string `json:"full_path"` // 文件全路径 FullPath string `json:"full_path"` // 文件全路径
RelativePath string `json:"relative_path"` // 相对路径 RelativePath string `json:"relative_path"` // 相对路径
Type string `json:"type"` // 文件类型, 如果为目录, 至为 - , 如果非 .xxx 结尾, 可执行为 bin , 不可执行为 unknown Type string `json:"type"` // 文件类型, 如果为目录, 至为 - , 如果非 .xxx 结尾, 可执行为 bin , 不可执行为 unknown
Total int64 `json:"total"` // 文件总数
Permission *FullPermission `json:"permission"` // 文件权限 Permission *FullPermission `json:"permission"` // 文件权限
Dir string `json:"dir"` // 文件所属目录
} }
// FullPermission 文件权限 // FullPermission 文件权限

22
ls.go
View File

@ -63,13 +63,29 @@ func (l *ls) Run() (*define.Result, []define.LsFileInfo) {
return result, make([]define.LsFileInfo, 0) return result, make([]define.LsFileInfo, 0)
} }
resultStr := string(result.Output) resultStr := string(result.Output)
fileList := strings.Split(resultStr, "\t") fileList := strings.Split(resultStr, "\n")
for _, item := range fileList { for _, item := range fileList {
if item == "." || item == ".." { if item == "." || item == ".." || len(item) == 0 {
// 忽略 . 和 .. // 忽略 . 和 ..
continue continue
} }
fmt.Println(item) itemArr := strings.Split(item, " ")
if strings.ToLower(itemArr[0]) == "total" {
// 过滤掉对于文件总数的输出
continue
}
l.parseFileInfo(item)
} }
return result, nil 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
}