gf

package module
v1.2.15 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 28, 2023 License: Apache-2.0 Imports: 11 Imported by: 3

README

gf

介绍

gf是一个使用Go编写的文件/文本管理模块,通过管道的方式可以快速实现复杂的需求

功能清单

  • 文本增删改查
  • 文件/文件夹增删改
  • 文本单行单列范围行范围列截取

截取中首/都是1开始 截取中首/都是1开始

安装

go get -u gitee.com/liumou_site/gf

使用示例

package demo

import (
	"fmt"
	"gitee.com/liumou_site/gf"
	"gitee.com/liumou_site/logger"
)

// GfFileMan 文件状态管理
func GfFileMan() {
	f := gf.NewFileMan("/etc/hosts", "/etc/hosts.bak") // 创建实例并设置源文件和目标文件
	err := f.Copy()                                    // 复制源文件到目标文件
	if err != nil {
		logger.Error("备份失败")
	} else {
		logger.Info("备份成功")
	}
	f.Src = "/etc/apt/sources.list.d/app.list"     // 重新设置源文件
	f.Dst = "/etc/apt/sources.list.d/app.list.old" // 重新设置目标文件
	err = f.Move()                                 // 移动源文件到目标文件
	if err != nil {
		logger.Error("移动失败")
	} else {
		logger.Info("移动成功")
	}

}

// GfFileRead 文件读取管理
func GfFileRead() {
	f := gf.NewReadFile("/etc/apt/sources.list.d/app.list") // 新建文件读取实例并设置文件路径
	f.Grep("https").Line(1)                                 // 筛选https字符串的内容并选择第一行
	if f.Err == nil {
		logger.Info("处理成功")
		fmt.Println(f.Text)
	}
}

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Match added in v1.2.2

func Match(text, match string) (res string, err error)

Match 匹配任意关键词(任意位置)

func MatchFirst added in v1.2.2

func MatchFirst(text, match string) (res string, err error)

MatchFirst 匹配关键词(开头)

func MatchTail added in v1.2.2

func MatchTail(text, match string) (res string, err error)

MatchTail 匹配关键词(尾部)

func Version

func Version() string

Types

type ApiFileMan added in v1.2.7

type ApiFileMan struct {
	PathAbs    string // 操作对象绝对路径
	PathBase   string // 操作对象基础文件名
	PathFormat string // 操作对象文件格式
	Src        string // 源文件
	SrcAbs     string // 源文件绝对路径
	SrcBase    string // 源文件基础文件名
	SrcFormat  string // 源文件格式
	Dst        string // 目标文件
	DstAbs     string // 目标文件绝对路径
	DstBase    string // 目标文件基础文件名
	DstFormat  string // 目标文件格式
	Err        error  // 错误
	// contains filtered or unexported fields
}

func NewFileMan added in v1.2.7

func NewFileMan(src, dst string) *ApiFileMan

NewFileMan 用于管理文件的复制,移动,删除

func (*ApiFileMan) Copy added in v1.2.7

func (api *ApiFileMan) Copy()

Copy 复制文件/文件夹

func (*ApiFileMan) Move added in v1.2.7

func (api *ApiFileMan) Move()

Move 移动/重命名文件/文件夹

type ApiFileStatus added in v1.2.7

type ApiFileStatus struct {
	Success  bool     // 是否操作成功
	AbsPath  string   // 文件绝对路径
	FileName string   // 需要操作的文件名
	FileList []string // 文件列表
	DirList  []string // 文件夹列表
	Err      error    // 错误信息(读写操作错误的信息)
	Text     string   // 最终字符串信息(例如文本读取信息)
	IsDirs   bool     // 是否属于文件夹
	IsFiles  bool     // 是否属于文件
	ExIst    bool     // 是否存在对象

	Perm    fs.FileMode // 文件所属权限
	FileErr *FileErr    // 文件错误
	// contains filtered or unexported fields
}

func NewFile added in v1.1.3

func NewFile(filename string) *ApiFileStatus

NewFile 用于判断文件路径状态和删除

func (*ApiFileStatus) Close added in v1.2.7

func (fi *ApiFileStatus) Close()

func (*ApiFileStatus) CreateFile added in v1.2.7

func (fi *ApiFileStatus) CreateFile()

func (*ApiFileStatus) Delete added in v1.2.7

func (fi *ApiFileStatus) Delete()

Delete 删除文件/文件夹

func (*ApiFileStatus) DeleteDir added in v1.2.7

func (fi *ApiFileStatus) DeleteDir()

DeleteDir 删除文件

func (*ApiFileStatus) DeleteFile added in v1.2.7

func (fi *ApiFileStatus) DeleteFile()

DeleteFile 删除文件

func (*ApiFileStatus) Echo added in v1.2.7

func (fi *ApiFileStatus) Echo(text string)

Echo 写入文件,当文件已存在则覆盖,当文件不存在则创建,默认权限: 0644

func (*ApiFileStatus) EchoAdd added in v1.2.7

func (fi *ApiFileStatus) EchoAdd(text string, wrap bool)

EchoAdd 写入文本到文件中,当文件已存在则追加,当文件不存在则创建,默认权限: 0644

func (*ApiFileStatus) Exists added in v1.2.7

func (fi *ApiFileStatus) Exists()

Exists 判断路径是否存在

func (*ApiFileStatus) GetFileMd5 added in v1.2.12

func (fi *ApiFileStatus) GetFileMd5() string

GetFileMd5 获取文件Md5

func (*ApiFileStatus) IsDir added in v1.2.7

func (fi *ApiFileStatus) IsDir()

IsDir 判断是否属于文件夹

func (*ApiFileStatus) IsFile added in v1.2.7

func (fi *ApiFileStatus) IsFile()

IsFile 判断是否属于文件

func (*ApiFileStatus) Mkdir added in v1.2.7

func (fi *ApiFileStatus) Mkdir(dir string, mode fs.FileMode)

Mkdir 递归创建文件夹(dir 文件夹路径 mode 创建模式,例如: 0777)

func (*ApiFileStatus) PathGetSubFIle added in v1.2.11

func (fi *ApiFileStatus) PathGetSubFIle(dir string)

PathGetSubFIle 获取指定目录下所有子目录的文件,通过fi.FileList和fi.DirList获取数据

func (*ApiFileStatus) PathGetSubFIleFormat added in v1.2.11

func (fi *ApiFileStatus) PathGetSubFIleFormat(dir, formatName string)

PathGetSubFIleFormat 获取指定目录下所有子目录的文件并筛选指定格式,通过fi.FileList获取数据

func (*ApiFileStatus) Touch added in v1.2.7

func (fi *ApiFileStatus) Touch()

Touch 创建空白文件

type ApiReadScreen added in v1.2.7

type ApiReadScreen struct {
	Text string // 字符串内容

	Err      error    // 错误信息
	FileName string   // 需要操作的文件名
	Slice    []string // 切片
	// contains filtered or unexported fields
}

func NewReadFile added in v1.1.3

func NewReadFile(filename string) *ApiReadScreen

NewReadFile 用于处理文本内容

func (*ApiReadScreen) Column added in v1.2.7

func (rs *ApiReadScreen) Column(col int, sep string) *ApiReadScreen

Column 读取指定列, 首列: 1

func (*ApiReadScreen) ColumnRange added in v1.2.7

func (rs *ApiReadScreen) ColumnRange(start, end int, sep string) *ApiReadScreen

ColumnRange 读取指定范围列, 首列: 1

func (*ApiReadScreen) GetText added in v1.2.7

func (rs *ApiReadScreen) GetText() *ApiReadScreen

GetText 以只读方式读取文件所有内容,如果内容较多切勿使用此方法

func (*ApiReadScreen) Grep added in v1.2.7

func (rs *ApiReadScreen) Grep(match string) *ApiReadScreen

Grep 通过关键词筛选所有匹配行

func (*ApiReadScreen) Line added in v1.2.7

func (rs *ApiReadScreen) Line(line int) *ApiReadScreen

Line 读取指定行,首行: 1

func (*ApiReadScreen) LineRange added in v1.2.7

func (rs *ApiReadScreen) LineRange(start, end int) *ApiReadScreen

LineRange 读取指定范围行, 首行: 1

func (*ApiReadScreen) Reset added in v1.2.8

func (rs *ApiReadScreen) Reset() *ApiReadScreen

Reset 重置数据到首次读取的文件初始数据

type FileErr added in v1.2.13

type FileErr struct {
	FileIsNotExists error // 文件不存在
	PathIsFile      error // 这个路径是一个文件
	PathIsdir       error // 这个路径是一个文件夹
}

type Handle added in v1.2.2

type Handle struct {
	Text string // 处理文本内容

	Slice   []string // 处理切片内容
	Err     error    // 错误信息
	GrepErr error    // 筛选错误
	ColErr  error    // 列截取错误
	LineErr error    // 行错误
	// contains filtered or unexported fields
}

func NewHandle added in v1.2.2

func NewHandle(text string) *Handle

NewHandle 用于处理字符串

func (*Handle) Column added in v1.2.2

func (rs *Handle) Column(col int, sep string) *Handle

Column 读取指定列, 首列: 1

func (*Handle) ColumnNull added in v1.2.10

func (rs *Handle) ColumnNull(col int) *Handle

ColumnNull 通过切割所有空白符进行列数据截取(\t, \n, \v, \f, \r, ’ ‘, U+0085 (NEL), U+00A0 (NBSP) )

func (*Handle) ColumnRange added in v1.2.2

func (rs *Handle) ColumnRange(start, end int, sep string) *Handle

ColumnRange 读取指定范围列, 首列: 1

func (*Handle) Line added in v1.2.2

func (rs *Handle) Line(line int) *Handle

Line 读取指定行,首行: 1

func (*Handle) LineRange added in v1.2.2

func (rs *Handle) LineRange(start, end int) *Handle

LineRange 读取指定范围行, 首行: 1

func (*Handle) Reset added in v1.2.3

func (rs *Handle) Reset() *Handle

Reset 重置所有数据

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL