Как вставить пробелы в строки
Привет всем отзывчивым!
Помогите плиз. Нужно вставить в начало строк пробелы. В ручную не реально сделать (список длиннющий). Посоветуйте что-нибудь!
|
Цитата:
Цитата vision-d
Нужно вставить в начало строк пробелы. »
|
Куда, в текстовый файл? Опять вопросы: а) с кодировкой файла, б) с наличием пустых строк.
|
Да, это текстовый файл. Кодировка 1251, без пустых строк.
|
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
>"NewFile.txt" (
for /f "usebackq delims=" %%i in ("0001.txt") do echo %%i
)
endlocal
exit /b 0
|
Имхо, лучше все таки специально написанные утилиты. Батник он такой батник, что простое echo сожрет спецсимволы, двойные пробелы, в общем может исходный файл испортить, предлагаю перейти на PowerShell или использовать утилиты:
Код:
# powershell
(gc file.txt) -replace '^',' ' | out-file file.txt
Код:
:: cmd, sed
sed "s/^/ /g" file.txt 1>file.txt
|
Цитата:
Цитата Foreigner
Код:
# powershell
(gc file.txt) -replace '^',' ' | out-file file.txt »
|
Забыл, в конце текста тоже нужен пробел. Дополните пожалуйста...
|
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
>"NewFile.txt" (
for /f "usebackq delims=" %%i in ("0001.txt") do echo %%i
)
endlocal
exit /b 0
Код:
$sFile = "E:\Песочница\0342\0001.txt"
(Get-Content -Path $sFile) -replace '^(.*)$', ' $1 ' | Out-File -FilePath $sFile
|
Есть ещё одна задачка. Есть текстовый файл содержащий в строках номера:
HTML код:
5080679
5471
4973874
53724
532204
396
Как сделать чтобы добавлялись в строки символы?
Чтобы строки принимали следующий вид:
HTML код:
'/rsl01005080679.pdf';
'/rsl01000005471.pdf';
'/rsl01004973874.pdf';
'/rsl01000053724.pdf';
'/rsl01000532204.pdf';
'/rsl01000000396.pdf';
и вид
HTML код:
'/rsl1@005080679';
'/rsl1@000005471';
'/rsl1@004973874';
'/rsl1@000053724';
'/rsl1@000532204';
'/rsl1@000000396';
'/rsl1@005019694';
|
PowerShell:
Код:
$a = gc file.txt
$a | % { "'/rsl{0:01000000000}.pdf';" -f [int]$_ }
$a | % { "'/rsl@{0:000000000}';" -f [int]$_ }
|
Цитата:
Цитата Iska
@echo off
setlocal enableextensions enabledelayedexpansion
>"NewFile.txt" (
for /f "usebackq delims=" %%i in ("0001.txt") do echo %%i
)
endlocal
exit /b 0 »
|
Этот метод подойдет для файлов в utf-8?
|
Предпочтительнее использовать PowerShell, указывая кодировку входного и выходного файлов.
|
а если у меня файл (5гб) больше чем оперативки на компе (4гб) будет ли он выполнять задачу с подстановкой символов?
|
Что-то более опытные коллеги молчат…
vision-d, выполнять задачу будет (разве что Вы принудительно отключили файл подкачки). Другое дело, что при таком объёме надо смотреть на конкретные командлеты. Например, код из ##5, 7 и 10, как я понимаю, считывают файл целиком в память. Более щадящим будет использование построчного чтения из одного файла, поиск/замена в строке и запись её в другой файл.
|
Цитата:
Цитата Foreigner
$a = gc file.txt
$a | % { "'/rsl{0:01000000000}.pdf';" -f [int]$_ }
$a | % { "'/rsl@{0:000000000}';" -f [int]$_ } »
|
Можно ли сделать тут чтобы он строки не переносил на отдельные строки, а записывал бы их сплошным текстом?
|
vision-d:
Цитата:
чтобы он строки не переносил на отдельные строки, а записывал бы их сплошным текстом?
|
Код:
$a = gc file.txt
( $a | % { "'/rsl{0:01000000000}.pdf'" -f [int]$_ } ) -join ';'
( $a | % { "'/rsl@{0:000000000}'" -f [int]$_ } ) -join ';'
|
Цитата:
Цитата Foreigner
PowerShell:
Код:
$a = gc file.txt
$a | % { "'/rsl{0:01000000000}.pdf';" -f [int]$_ }
$a | % { "'/rsl@{0:000000000}';" -f [int]$_ } »
|
Добрый день!
Подскажите пожалуйста можно ли проставлять вместо символов 0:000000000 пробелы? Подскажите как они обозначаются...
|
Цитата:
Цитата vision-d
Подскажите пожалуйста можно ли проставлять вместо символов 0:000000000 пробелы? Подскажите как они обозначаются... »
|
Formatting Types
|
Время: 03:36.
© OSzone.net 2001-