From b3e1a27db9954d02ba587e1d3a3105e09b2d004f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Thu, 16 Nov 2023 21:53:24 +0900 Subject: [PATCH] feat: add param -d to cmd/main --- cmd/main/main.go | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/cmd/main/main.go b/cmd/main/main.go index a138d59..202f3a4 100644 --- a/cmd/main/main.go +++ b/cmd/main/main.go @@ -24,6 +24,7 @@ package main import ( "flag" "fmt" + "io" "os" "regexp" "strconv" @@ -39,6 +40,7 @@ func main() { unm := flag.Bool("u", false, "lease unmarshalled file") splitre := flag.String("s", "", "split file into many docxs by matching regex") droppp := flag.Bool("p", false, "drop all paragraph properties") + dupnum := flag.Uint("d", 0, "copy times of the file into dup_filename") flag.Parse() var w *docx.Docx if !*analyzeOnly { @@ -241,5 +243,24 @@ func main() { } } } + if *dupnum > 1 { + a := strings.LastIndex(*fileLocation, "/") + name := "dup_" + (*fileLocation) + if a > 0 { + name = (*fileLocation)[:a+1] + "dup_" + (*fileLocation)[a:] + } + f, err := os.Create(name) + if err != nil { + panic(err) + } + newFile := docx.NewA4() + for i := 0; i < int(*dupnum); i++ { + newFile.AppendFile(doc) + } + _, err = io.Copy(f, newFile) + if err != nil { + panic(err) + } + } fmt.Println("End of main") }