<commit_before>package main

import (
	"flag"
	"fmt"
	"log"
	"os"
	"path/filepath"
	"strings"
)

// TODO エラーメッセージの多言語化

func glob(dir string) ([]string, error) {
	files, err := filepath.Glob(filepath.Join(dir, "[^.]*"))
	if err != nil {
		return nil, err
	}
	return files, nil
}

func extractDirname(filename, delimiter string) string {
	a := strings.Split(filename, delimiter)
	if a[0] == filename {
		return ""
	}
	return a[0]
}

func globDir(path string) ([]string, error) {
	dir := []string{}
	entries, err := filepath.Glob(filepath.Join(path, "[^.]*"))
	if err != nil {
		return nil, err
	}

	for _, e := range entries {
		fi, err := os.Stat(e)
		if err != nil {
			return nil, err
		}
		if fi.IsDir() {
			dir = append(dir, e)
		}
	}

	return dir, nil
}

func mkDir(destName string, ignoreCase bool) (string, error) {
	if ignoreCase {
		path, dirName := filepath.Split(destName)

		// pathにあるディレクトリ一覧を取得
		dirs, err := globDir(path)
		if err != nil {
			return destName, err
		}
		//小文字にして比較
		for _, v := range dirs {
			// 一致したら、小文字にする前の値を返す
			if strings.ToLower(filepath.Base(v)) == strings.ToLower(dirName) {
				return v, nil
			}
		}
	}

	// 一致するものがなかったらディレクトリ作成、すでにディレクトリかファイルがある場合エラーになるので、エラーは無視する

	fmt.Printf("destName = %+v\n", destName)
	_ = os.Mkdir(destName, 0755)
	return destName, nil
}

func move(originalFileName, destName string) error {
	absDestName, err := filepath.Abs(destName)
	if err != nil {<commit_msg>remove Printf<commit_after>package main

import (
	"flag"
	"fmt"
	"log"
	"os"
	"path/filepath"
	"strings"
)

// TODO エラーメッセージの多言語化

func glob(dir string) ([]string, error) {
	files, err := filepath.Glob(filepath.Join(dir, "[^.]*"))
	if err != nil {
		return nil, err
	}
	return files, nil
}

func extractDirname(filename, delimiter string) string {
	a := strings.Split(filename, delimiter)
	if a[0] == filename {
		return ""
	}
	return a[0]
}

func globDir(path string) ([]string, error) {
	dir := []string{}
	entries, err := filepath.Glob(filepath.Join(path, "[^.]*"))
	if err != nil {
		return nil, err
	}

	for _, e := range entries {
		fi, err := os.Stat(e)
		if err != nil {
			return nil, err
		}
		if fi.IsDir() {
			dir = append(dir, e)
		}
	}

	return dir, nil
}

func mkDir(destName string, ignoreCase bool) (string, error) {
	if ignoreCase {
		path, dirName := filepath.Split(destName)

		// pathにあるディレクトリ一覧を取得
		dirs, err := globDir(path)
		if err != nil {
			return destName, err
		}
		//小文字にして比較
		for _, v := range dirs {
			// 一致したら、小文字にする前の値を返す
			if strings.ToLower(filepath.Base(v)) == strings.ToLower(dirName) {
				return v, nil
			}
		}
	}

	// 一致するものがなかったらディレクトリ作成、すでにディレクトリかファイルがある場合エラーになるので、エラーは無視する
	_ = os.Mkdir(destName, 0755)
	return destName, nil
}

func move(originalFileName, destName string) error {
	absDestName, err := filepath.Abs(destName)
	if err != nil {
{'fraction_non_alphanumeric': 0.15270413573700956, 'fraction_numerical': 0.0042417815482502655, 'mean_word_length': 3.5063694267515926, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3155278', 'n_tokens_mistral': 1324, 'n_tokens_neox': 1233, 'n_words': 264}