Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/34: Рейтинг темы: голосов - 34, средняя оценка - 4.65
5 / 5 / 0
Регистрация: 01.09.2009
Сообщений: 114
Записей в блоге: 1
1

Дописать строку

22.07.2016, 12:34. Показов 6880. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Есть такая проблема в текстовом файле 1.txt
есть список логинов пользователей нужно добавить к каждому логину префикс 12 чтобы получилось 12login я пробовал цикл

PowerShell
1
2
3
4
$a = gc 1.txt
For ($i=0; $i -lt "40"; $i++)
{$a[$i].Insert(0,"12")}
$a | sc 2.txt
На экран выводит что все проставилось, а в файле осталось как есть без префикса пробовал еще такой цикл

PowerShell
1
2
3
4
$a = gc 1.txt
For ($i=0; $i -lt "40"; $i++)
{$u = $a[$i].Insert(0,"12")}
$u | sc 2.txt
В этом случае в файл записывается только последний логин но с префиксом.

Подскажите пожалуйста как сделать чтобы у всех префикс проставился.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.07.2016, 12:34
Ответы с готовыми решениями:

Дописать значение в строку
Всем доброго времени суток. Есть группа файлов, в каждому из них есть строка вида <add key="XXX"...

Дописать в строку
Добрый день. Возникла проблема, не могу ни как придумать как реализовать... в общем, есть бд со...

дописать строку
как запросом через update дописать строку в определенной записи? если число то будет a=a+1 , а если...

Дописать строку в Excel
Подскажите как можно реализовать следующие: есть форма в которую вводятся данные и надо чтобы после...

8
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
22.07.2016, 12:40 2
archan,
В этом случае в файл записывается только последний логин но с префиксом.
Так оно и понятно.
Вы же через командлет sc в 2.txt записываете только значение переменной $u, которая перезаписывается при каждой итерации.
0
5 / 5 / 0
Регистрация: 01.09.2009
Сообщений: 114
Записей в блоге: 1
22.07.2016, 12:49  [ТС] 3
А как сделать что бы все записались
0
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
22.07.2016, 12:58 4
Что-то вроде.
PowerShell
1
2
3
4
5
6
7
[string[]]$file = gc 1.txt
[string[]]$Xfile=$null
foreach($line in $file)
{
$Xfile+=$line.insert(0,"12")
}
$Xfile| sc 2.txt
Добавлено через 7 минут
Или вообще в одну строку
PowerShell
1
gc 1.txt|%{$_.insert(0,12)|out-file "D:\2.txt" -append}
1
5 / 5 / 0
Регистрация: 01.09.2009
Сообщений: 114
Записей в блоге: 1
22.07.2016, 13:13  [ТС] 5
Отлично спасибо большое

Добавлено через 10 минут
А еще такой вопрос, а можно сделать что бы дописывалось или 12 или 122 в зависемости от числа символов в логине?
0
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
22.07.2016, 13:36 6
archan, Да наверняка можно.
Вариантов несколько, если в строке только логин, то можно брать целиком строку, trimом удалять пробелы и брать ее длину
reg-экспами из строки вычленять логин и брать его длину, однако надо иметь представление как выглядят логины, пример файла с логинами можете написать?

Добавлено через 10 минут
При помощи trima примерно так будет выглядеть.
PowerShell
1
2
3
4
5
6
7
8
9
[string[]]$file = gc 1.txt
[string[]]$Xfile=$null
foreach($line in $file)
{
if ($line.trim(" ").length -ge 10)
{$Xfile+=$line.insert(0,"12")}
else {$Xfile+=$line.insert(0,"122")}
}
$Xfile| sc 2.txt
1
5 / 5 / 0
Регистрация: 01.09.2009
Сообщений: 114
Записей в блоге: 1
22.07.2016, 13:38  [ТС] 7
Ну вот примерно нужно дополнить до 15 символов по типу 12000000
Вложения
Тип файла: txt 1.txt (47 байт, 2 просмотров)
0
774 / 423 / 137
Регистрация: 03.06.2009
Сообщений: 1,223
Записей в блоге: 4
22.07.2016, 13:55 8
archan, То есть конечный вариант должен быть такой?
120000000Ivanov-120IIKhabibulin-1200000PSPetrov-1200000NSReutov-120000000000GA



Добавлено через 9 минут
Или такой
120000Ivanov-II
12Khabibulin-PS
120000Petrov-NS
120000Reutov-GA
0
5 / 5 / 0
Регистрация: 01.09.2009
Сообщений: 114
Записей в блоге: 1
22.07.2016, 14:55  [ТС] 9
Да второй вариант. Нет формат типа 120000Ivanov-II, 12Khabibulin-PS и т.д.

Добавлено через 57 минут
Все получилось спасибо
0
22.07.2016, 14:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.07.2016, 14:55
Помогаю со студенческими работами здесь

Дописать в строку переменную
Возникла задача дописать в строку переменную, нужно это чтобы выбрасывать более информативные...

Дописать в строку memo
Такой вопрос: Memo1.Lines.Add='sdgds' - создает новую строку и пишет в нее 'sdgds' мне нужна...

Дописать строку в файл hosts
Нужно чтобы при запуски программа записала в фаил HOSTS строку 127.0.0.1 baner.com как это сделать

Дописать строку к строкам из файла
Есть файл текстовый, и к каждой его строке нужно дописать некоторый текст и сохранить всё в этом же...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru