Удаление пробелов в конце.txt-файл

Как удалить конечные пробелы в каждой строке в .txt файл в следующей команде? Я создал скрипт ниже, чтобы удалить 1-й символ в каждой строке, но это создает пробелы в конце каждой строки...

@echo off

setlocal enabledelayedexpansion

for /F "tokens=*" %%A in (C:testIndex.txt) do (
    set line=%%A
    echo !line:~1! >> C:testIndex1.txt
)
7
задан Daniel Andersson
15.03.2023 22:51 Количество просмотров материала 2696
Распечатать страницу

2 ответа

просто удалите лишнее пространство из источника;)

@echo off
setlocal enabledelayedexpansion

for /F "tokens=*" %%A in (C:\test\Index.txt) do (
    set line=%%A
    echo(!line:~1!>>C:\test\Index1.txt
)

Я тоже echo( для защиты от строк, которые становятся пустыми, когда вы снимаете первый символ. ECHO ничего следующие результаты ECHO is off. сообщение в выводе.

ваш упрощенный скрипт отлично работает во многих случаях. Но это будет иметь проблемы, если ваш ввод содержит ! персонаж, или если вам нужно сохранить пустые строки. Есть решения для этих проблем, но код становится сложнее и медленнее.

Я использую гибридная утилита JScript / batch с именем REPL.Летучая мышь всякий раз, когда я хочу изменить содержимое файла. Он выполняет поиск регулярного выражения и замены на stdin и записывает результат в stdout.

предполагая REPL.BAT находится в вашем текущем каталоге, или еще лучше, где - то внутри вас путь, то ваш сценарий может быть заменен на следующий один лайнер, который является более быстрым и надежным:

type "C:\test\Index.txt"|repl "^." "" >"C:\test\Index1.txt"
1
отвечен dbenham 2023-03-17 06:39

вы можете использовать sed для Windows:

sed "s/\s*$//" infile.txt>outfile.txt
0
отвечен Endoro 2023-03-17 08:56

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх