split

package module
v0.0.0-...-8bd1e13 Latest Latest
Warning

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

Go to latest
Published: Aug 12, 2021 License: BSD-2-Clause Imports: 14 Imported by: 0

README

go-split

Split text files into parts.

Usage: go-split [options] input-file...
  -compress string
        {gzip|other=without compression}
  -parallelism int
        Maximum number of files which read parallely (default 4)
  -prefix string
        Path prefix of outputs (default "out-")
  -split int
        Number of files that splitted (default 8)
  -verbose
        Verbose output
  -version
        Show version

Development

Requirements

  • Go 1.15
  • GNU Make

Prerequisites

  • Install stringer project locally.
    $ make tools
    

Build

$ make
# -> go-split

License

BSD 2-Clause License

SEE LICENSE

My Environment

  • CentOS 8.3.2011
  • Go 1.15.11
  • GNU Make 4.2.1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CompressionType

type CompressionType int
const (
	CompressionUnknown CompressionType = iota
	CompressionNone
	CompressionGzip
)

func (CompressionType) String

func (i CompressionType) String() string

type Param

type Param struct {
	Verbose     bool
	Split       int
	Parallelism int
	Prefix      string
	Compress    string
}

type Splitter

type Splitter struct {
	// contains filtered or unexported fields
}

func NewSplitter

func NewSplitter() *Splitter

func (*Splitter) Do

func (s *Splitter) Do(ctx context.Context, files []string, param Param) (retErr error)

func (*Splitter) ParallelFileScan

func (s *Splitter) ParallelFileScan(ctx context.Context, cancel func(), files []string, parallelism int, param Param, chOut chan<- line) (_ *errgroup.Group, retErr error)

func (*Splitter) ParallelScan

func (s *Splitter) ParallelScan(ctx context.Context, cancel func(), chIn <-chan readTarget, parallelism int, param Param, chOut chan<- line) (_ *errgroup.Group, retErr error)

func (*Splitter) ParallelWrite

func (s *Splitter) ParallelWrite(ctx context.Context, cancel func(), chIn <-chan line, parallelism int, param Param) (_ *errgroup.Group, retErr error)

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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