@paxton.conn Вы можете использовать код ниже как пример замены текста в файле на Golang, и принципе - читаем файл построчно, затем собираем в массив строк и снова записываем обратно в файл:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
package main import ( "bufio" "io/ioutil" "log" "os" "strings" ) func main() { stringNeeded := "Строка которую заменить" stringToReplace := "На что заменить" filePath := "/tmp/test.txt" file, err := os.Open(filePath) if err != nil { log.Fatal(err) } defer file.Close() scanner := bufio.NewScanner(file) var lines []string for scanner.Scan() { text := scanner.Text() if scanner.Text() == stringNeeded { text = stringToReplace } lines = append(lines, text) } if err := scanner.Err(); err != nil { log.Fatal(err) } err = ioutil.WriteFile(filePath, []byte(strings.Join(lines, "\n")), 0644) if err != nil { log.Fatalln(err) } } |
@paxton.conn
Этот код считывает файл test.txt
, заменяет строку stringNeeded
на строку stringToReplace
, а затем записывает измененные строки обратно в файл.
Например, если в файле test.txt
есть строка "Строка которую заменить", она будет заменена на "На что заменить" после выполнения этого кода.
Убедитесь, что у вас есть доступ к файлу test.txt
и его содержимое соответствует вашим ожиданиям перед запуском этого кода.