Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
-
Uragan66
Re: Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
greg zakharov, извините, думал, что скрипт нужно запускать как js.
Теперь разобрался... Большая благодарность за скрипт!
Теперь разобрался... Большая благодарность за скрипт!
-
Uragan66
Re: Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
Цитата Uragan66:
так не пойдёт для нескольких файлов
оформите весь код в функцию и считывайте файлы по одному с вызовом функции...
Код:
так не пойдёт для нескольких файлов
Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
оформите весь код в функцию и считывайте файлы по одному с вызовом функции...
Код:
Код: Выделить всё
function set-outfile {
process{
$file = 'out_'+$_.name
@(for($i, $arr = 0, (gc $_.fullname -Encoding utf8); $i -lt $arr.Length;) {
$a, $b = $arr[$i], $arr[$i + 1] # потенциальная пара
# критерий относительно которого формируется пара
if ($a.StartsWith('#EXTINF') -and $b -match ':\/\/') {
# выводим пару в окно хоста
"$a`n$b"
# переходим на две позиции вперед
$i += 2
} else {
# в противном случае переходим к следующему значению
++$i
continue
}
}) | Sort-Object -Unique | Out-File $file -Encoding utf8
}
}
dir .\каталог\* -inc *.m3u -file|set-outfile-
Uragan66
Re: Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
Здравствуйте!
Использую, подсказанный ув. greg zakharov, скрипт:
Код:
Скрипт работает отлично, ещё раз большое спасибо!
Но бывает возникает необходимость пускать на вход не один файл, а несколько.
Подскажите, пожалуйста, можно ли для обработки скриптом прописать не один файл, а папку с файлами одного расширения ?
Буду премного благодарен за ответы и подсказки.
Использую, подсказанный ув. greg zakharov, скрипт:
Код:
Код: Выделить всё
@(for($i, $arr = 0, (gc .\*.m3u -Encoding utf8); $i -lt $arr.Length;) {
$a, $b = $arr[$i], $arr[$i + 1] # потенциальная пара
# критерий относительно которого формируется пара
if ($a.StartsWith('#EXTINF') -and $b -match ':\/\/') {
# выводим пару в окно хоста
"$a`n$b"
# переходим на две позиции вперед
$i += 2
}
else {
# в противном случае переходим к следующему значению
++$i
continue
}
}) | Sort-Object -Unique | Out-File .\out.m3u -Encoding utf8Скрипт работает отлично, ещё раз большое спасибо!
Но бывает возникает необходимость пускать на вход не один файл, а несколько.
Подскажите, пожалуйста, можно ли для обработки скриптом прописать не один файл, а папку с файлами одного расширения ?
Буду премного благодарен за ответы и подсказки.
-
DJ Mogarych
Re: Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
Привет!Что то пошло не так,помогите пожалуйста понять,на скриншоте во вложении все видно.
-
YuS_2
Re: Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
Alex2010god, у вас старая версия PowerShell, скрипт использует новые возможности. Обновите PoSh до 5.1
-
Uragan66
Re: Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
YuS_2, спасибо большое. Это то, что нужно.
-
Alex2010god
Re: Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
Цитата Alex2010god:
никаких изменений
Напротив. Теперь совсем другая ошибка.
В том каталоге, откуда Вы пытаетесь исполнять код (на Вашем скриншоте это каталог профиля текущего пользователя), отсутствует каталог с именем «каталог».
никаких изменений
Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
Напротив. Теперь совсем другая ошибка.
В том каталоге, откуда Вы пытаетесь исполнять код (на Вашем скриншоте это каталог профиля текущего пользователя), отсутствует каталог с именем «каталог».
- Вложения
-
[Расширение jpg было запрещено, вложение больше недоступно.]
-
Busla
Re: Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
Alex2010god, у вас старая версия PowerShell, скрипт использует новые возможности. Обновите PoSh до 5.1
-
Alex2010god
Re: Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
Цитата Alex2010god:
ничего не понял из Вашего ответа(что нужно сделать что бы каталог появился?)...
необходимо вместо .\каталог указать правильный путь к существующему каталогу, в котором находятся файлы для обработки.
Цитата Alex2010god:
Как вернуть русский язык для PowerShell 5.1?
Никак... ну или пожаловаться в ООН на микрософт, на ущемление прав русскоязычных пользователей
... шутка.
ничего не понял из Вашего ответа(что нужно сделать что бы каталог появился?)...
Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
необходимо вместо .\каталог указать правильный путь к существующему каталогу, в котором находятся файлы для обработки.
Цитата Alex2010god:
Как вернуть русский язык для PowerShell 5.1?
Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
Никак... ну или пожаловаться в ООН на микрософт, на ущемление прав русскоязычных пользователей
... шутка.- Вложения
-
[Расширение jpg было запрещено, вложение больше недоступно.]
-
Iska
Re: Любой язык - [решено] Удаление дубликатов строк из текстового файла со сравнением по две строки
В начале скрипта указан адрес:
$aContent = Get-Content -Path 'D:\1\FILMOTEKA.M.C+\F.m3u'
просто вписать вместо .\каталог
так .\D:\1\FILMOTEKA.M.C+\F.m3u
или еще как ни будь?
$aContent = Get-Content -Path 'D:\1\FILMOTEKA.M.C+\F.m3u'
просто вписать вместо .\каталог
так .\D:\1\FILMOTEKA.M.C+\F.m3u
или еще как ни будь?