![]() |
Как разбить одну строку на много строк
Доброго времени суток всем
Есть одна строка, в ней есть некоторые числа, которые разделены запятой или двоима или тремя запятыми. Надо сделать так чтоб каждое число было в отдельной строке, которые есть с минусом что б были без минула, только числа, если можно, если нет, то пусть будут с минусами . Пример |
PS Z:\> "11111111,2222222,,,444444,777,,555555,,-1,-1,-1".split("-,",[StringSplitOptions]::RemoveEmptyEntries)
11111111 2222222 444444 777 555555 1 1 1 |
Код:
@Echo Off |
До кучи ;):
Код:
Option Explicit |
Спасибо всем за ответы.
Вот только я ничего не понял, как с каждым кодом работать. Если вам не трудно можете объяснить для каждого кода что делать. Для первого я создал батник запустил, а он мне создал пустой файл и именем всех чисел. Для второго тоже батник создал здесь уже лучше, запустил он выбил все числа по строках в консоли, но скопировать я их от туда не могу. Уже подумал третий поможет, создал vbs, при запуске выбивают окошка с теме всеми числами по очереди и надо нажать на ок, но ничего не происходит, кидал файл с текстом на него тот же результат. |
KooDI, Вы ни чего в ТЗ не сказали о том:
- где находится эта строка (прописана в скрипте, в текстовом файле, или будет передаваться скрипту в виде параметра) - если в файле, то сколько там таких строк (одна или много) - куда нужно вывести результат (окно, файл) - если строк не одна, то результаты должны быть выведены в один файл или для каждой строки создавать свой - какие имена файлов должны быть в последнем случае |
Цитата:
Цитата:
Цитата:
|
Код:
@Echo Off |
gora, спасибо все робатае
Iska, пожалуйста можете написать скрип, что б просто перетаскиванием файла на скрипт создавался текстовый документ с результатом, просто хочу на кнопку повесить в тотале. |
Цитата:
Код:
@Echo Off Код:
TOTALCMD#BAR#DATA Новый файл создается рядом с исходным. Его имя формируется из имени исходного файла добавлением суффикса _New |
gora, огромное вам спасибо за код, и за кнопку, все работает но есть одно но, код с большими файлами не работает, он создает файл с черточкой "-", и все.
Думал сначала что в строке попался какой то символ, по пробовал взять приведенный мной пример строки , продублировав ее до 11844 символов в строке, и код тоже не работал. |
Цитата:
На базе примера от Iska Скрипт KooDI.vbs: Код:
If WScript.Arguments.Count < 1 Then WScript.Quit Код:
TOTALCMD#BAR#DATA |
gora, cпасибо вам огромное, за ваше время и труд
|
Люди подскажите новичку, вот вы тут выкладываете какието коды, а я не знаю как ими пользоватся.Куда их вставлять. Мне вот тоже нужно разделить строки. Есть база в (блокноте),там имейл адреса идут в строку,через запятую,ну гдето строк 20 примерно,мне нужно чтобы каждый адрес был в отдельной строке,тоесть в столбик. Спасибо.
|
dizel-82, Вам проще будет выложить этот файл, упакованный в архив, чтобы кто-нибудь сие Вам сделал.
|
dizel-82
в редакторе заменить , на перевод строки не устроит? |
Да нет выслать не пойдет.Мне нужно самому это уметь делать.
kiripanda Я не понял, всмысле в редакторе заменить , на перевод строки ?? |
Цитата:
|
что искать, и на что менять ??
|
|
А какой символ конца строки?
|
а как узнать этот символ?
|
|
dizel-82, батник:
Код:
@echo off Из powershell: Код:
(gc file.txt) -replace ',+',"`n" | set-content file.txt |
Вложений: 2
Цитата:
|
kiripanda, а у Вас ;)?
|
EditPlus (второй скрин)
на первом – Akelpad, слышал многие пользуются |
А как сделать такую вещь ? Есть база имейл адресов в текстовом документе, и нужно из этой базы удалить допустим все адреса mail.ru , как справиться с этой задачей?
|
dizel-82, от Вас требуется: образец текста из документа + его кодировка.
|
Iska, база выглядит так
proffit1@mail.ru leader-m@narod.ru starmet1@nvkz.net trubsnab@mail.ru cmk@incompany.ru serov@asw.ru amet-plus@chel.surnet.ru glad@iwm.ru regprom@chel.surnet.ru metall1@hotbox.ru webmaster@globaledge.ru pump@energoprom.spb.ru ruslan79@bk.ru starmet1@nvkz.kuzbass.net molot@flexuser.ru bublik@ebcorp.ru trade@kameja.ru moha@yandex.ru karneol@dzhm.nnov.ru durneva@partner-omsk.ru abl@rinet.ru danaspb@narod.ru info@tech-impex.com pantera100@mail.ru marketing@metasib.com nato@novato.ru volga_techmet@mailru.com met-en@mail.ru кодировку где посмотреть не знаю,обычный txt блокнот |
Код:
@Echo Off |
Прикольно,только что с этим делать не знаю. Куда этот код вбивать?
|
Цитата:
2 В строке 2 укажите полный путь к Вашему списку почтовых ящиков 3 В строке 3 укажите полный путь к новому списку почтовых ящиков 4 Сохраните файл под именем MyScript.bat в любом удобном месте 5 Запустите файл MyScript.bat Примечание: Если пути в строках 2 и 3 содержат кириллицу, то сохранять файл (п.4) нужно в кодировке Кириллица DOS (866) и лучше это делать не в блокноте, а в более "продвинутом" редакторе.. |
большое спасибо попробую. У меня установлены такие редакторы
Notepad++ , AkelPad , PSPad каким лучше? |
Цитата:
|
Ничего не получается.
Цитата:
|
dizel-82, включите отображение расширений для зарегистрированных типов файлов и удалите «.txt» из «MyScript.bat.txt».
|
1. в названии txt нету
2. как включить отображение расширений для зарегистрированных типов файлов ? |
|
Включил отображение, убрал из названия txt , запускаю MyScript.bat выскакивает чёрное окно,и сразу же пропадает. В в файле с результатами мыл ничего не появляется.Я их поместил в корень диска С. Путь указывал такой С\1.txt и С\2.txt
О вроди бы получилось. Спасибо Ещё вопросик. А как можна эти mail.ru адреса не удалять ,а просто сохранить в другой файл, короче отсортировать все мыла mail.ru в дрыгой документ? Спасибо заранее. |
Цитата:
Код:
@Echo Off |
1.база начальная
2.останутся все кроме mail.ru 3.все мыла mail.ru в таком порядку указывать путь к файлам? я правильно понял? |
Все мыла маил в другой документ сохранились. Огромное спасибо. А можна так чтобы и 1-я и -2я операция сразу делались?
1.исходная база 2.файл с мылами mail.ru 3.все остальные кроме mail.ru Все разобрался, Спасибо вам огромное. А чтобы сортировать не mail.ru а допустим gmail.com , это нужно в коде в 2-х нижних строках поменять mail.ru на gmail.com ? Правильно понял ? |
Скиньте пожалуйста код для удаления повторяющихся мыл. Делаю сейчас это в Excel , но Excel не видет больше 1 млн строк.
|
Делайте на PowerShell:
Код:
Get-Content -Path "Путь\Duplicates.txt" | Select-Object -Unique | Set-Content -Path "Путь\Unique.txt" |
Цитата:
|
ищите uniq.exe
|
Цитата:
|
|
Цитата:
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Цитата:
Цитата:
Ответы на прочие вопросы ищите здесь: Создание сценариев Windows PowerShell. |
да ХР
|
Это чето сложное для меня. Что нельзя никак подругому удалять дубликаты?
|
Всем доброго времени суток!
Помогите, пожалуйста, с написанием скрипта. Желательно с запуском попроще (bat, cmd) :) Исходные данные: Есть каталог с множеством txt файлов (>1000). Каждый файл называется уникальным именем. Внутри каждого файла в строку записано ровно 4 числа через пробел: 450 32 560 8 Необходимо: Создать в этом же каталоге или в подкаталоге txt файлы с именами оригинальных файлов, однако числа из строки для каждого файла преобразовать в столбик без дополнительных символов: 450 32 560 8 Заранее огромное спасибо за помощь! |
Iozeg
Код:
@echo off |
Цитата:
|
Время: 18:58. |
Время: 18:58.
© OSzone.net 2001-