You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"io/ioutil"
|
|
|
|
"log"
|
|
|
|
"os"
|
|
|
|
"strings"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
/*
|
|
|
|
思路: 脚本按照顺序拼接,旧文件按照 utf8 格式清空
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
var splitStr = "/* 202"
|
|
|
|
|
|
|
|
var endName = ".sql"
|
|
|
|
var endFileName string
|
|
|
|
var History = "/history/"
|
|
|
|
var DBStr = []string{"/MYSQL/update", "/ORACLE/update", "/SHENTONG/update", "/DM/update", "/KingBase/update"}
|
|
|
|
var mapStr = make(map[string]string)
|
|
|
|
var mapInt = make(map[int8]string)
|
|
|
|
|
|
|
|
//存在所有对象信息 - 集合
|
|
|
|
func main() {
|
|
|
|
// Todo 合并的SQL文件名称,超过1000行,分割多个文件
|
|
|
|
endFileName = History + time.Now().Format("20060102") + endName
|
|
|
|
|
|
|
|
// aaa := os.Args //当前目录数组
|
|
|
|
var aaa string = "/Users/zhangxianwei/IDEA/hy_sql"
|
|
|
|
for i := range DBStr {
|
|
|
|
kkk := aaa + DBStr[i]
|
|
|
|
getAllFile(kkk)
|
|
|
|
}
|
|
|
|
|
|
|
|
for s := range mapStr {
|
|
|
|
log.Println(s, mapStr[s])
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func getAllFile(pwd string) {
|
|
|
|
//获取文件或目录相关信息
|
|
|
|
fileInfoList, err := ioutil.ReadDir(pwd)
|
|
|
|
if err != nil {
|
|
|
|
log.Fatal(err)
|
|
|
|
}
|
|
|
|
|
|
|
|
for i := range fileInfoList {
|
|
|
|
if strings.HasSuffix(fileInfoList[i].Name(), endName) {
|
|
|
|
path := pwd + "/" + fileInfoList[i].Name()
|
|
|
|
s := read(path)
|
|
|
|
split := strings.Split(s, splitStr)
|
|
|
|
|
|
|
|
for i2 := range split {
|
|
|
|
// log.Println(split[i2], "\n")
|
|
|
|
mapStr[path] = s
|
|
|
|
s2 := split[i2]
|
|
|
|
log.Println(s2)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func read(path string) string {
|
|
|
|
f, _ := os.Open(path)
|
|
|
|
all, _ := ioutil.ReadAll(f)
|
|
|
|
return string(all)
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
write 输出到文件
|
|
|
|
*/
|
|
|
|
func write(s, path string) {
|
|
|
|
file3, _ := os.Create(path)
|
|
|
|
file3.WriteString(s)
|
|
|
|
file3.Close()
|
|
|
|
}
|