GoLang의 간단한 스크립트를 작성하고 댓글을 달았습니다. 실행 방법을 알고있는 경우 도움이 될 수 있습니다. 그렇지 않으면 빠른 연구가 도움이 될 것입니다.
package main
import (
"io/ioutil"
"strings"
"log"
"os"
)
func main() {
// get all files in directory
files, err := ioutil.ReadDir(".")
// check error
if err != nil { log.Println(err) }
// go through all the files
for _, file := range files {
// check if it's a txt file (can change this)
if strings.HasSuffix(file.Name(), "txt") { // you can change this
// read the lines
line, _ := ioutil.ReadFile(file.Name())
// turn the byte slice into string format
strLine := string(line)
// split the lines by a space, can also change this
lines := strings.Split(strLine, " ")
// remove the duplicates from lines slice (from func we created)
RemoveDuplicates(&lines)
// get the actual file
f, err := os.OpenFile(file.Name(), os.O_APPEND|os.O_WRONLY, 0600)
// err check
if err != nil { log.Println(err) }
// delete old one
os.Remove(file.Name())
// create it again
os.Create(file.Name())
// go through your lines
for e := range lines {
// write to the file without the duplicates
f.Write([]byte(lines[e] +" ")) // added a space here, but you can change this
}
// close file
f.Close()
}
}
}
func RemoveDuplicates(lines *[]string) {
found := make(map[string]bool)
j := 0
for i, x := range *lines {
if !found[x] {
found[x] = true
(*lines)[j] = (*lines)[i]
j++
}
}
*lines = (*lines)[:j]
}
파일 : hello hello yes no
반환 결과는 : 귀하의 모든 파일과 디렉토리에이 프로그램을 실행하면 hello yes no
, 그것은 중복을 제거 할 수 있습니다.
희망 사항에 따라
출처
2017-12-01 15:19:53
Noy
여기에 오기 전에 조사를해야 할 것입니다. 이것은 계약직을 요청할 곳이 아닙니다. –
원하는 것을하거나 만들 수있는 스크립트를 구매하려고하십니까? 그렇다면 사용중인 언어를 저희에게 알려 주시고 저희가 귀하를 도와 줄 수있는 몇 가지 코드를 게시하십시오. – EasyE