 |
|
Alexander_88 |
24-07-2022 05:20 2989083 |
Оставить только нужные строки в текстовом файле
Здравствуйте. есть два txt файла:
1.txt
Код:
0001 - *0333*;*0400*;*0475*;*0514*;*0575*;*0594*;*0699*;*0816*
0002 - *0088*;*0141*;*0804*;*1154*
0003 - *0352*;*0692*
0004 - *0056*;*0640*;*0740*;*0746*;*0809*;*1312*
0005 - *0004*;*0012*;*0025*;*0027*;*0047*;*0076*;*0472*;*0493*;*0677*;*0710*;*0749*;*0754*;*0855*;*1300*
0006 - *0965*;*1055*
0007 - *0176*;*0205*
0008 - *0606*;*0661*
0009 - *0155*;*0162*
0010 - *0088*;*0141*;*0804*;*1154*
0011 - *0001*;*0060*;*0175*;*0375*;*0410*;*0808*
0012 - *0080*;*0340*;*0364*;*0756*;*0813*;*1357*
0013 - *0021*;*0063*;*0070*;*0177*;*0180*;*0204*;*0283*;*0284*;*0288*;*0346*;*0485*;*0490*;*0491*;*0494*;*0502*;*0512*;*0543*;*0544*;*0560*;*0577*;*0583*;*0586*;*0599*;*0679*;*0689*;*1174*;*1343*
0014 - *0251*
0015 - *0554*;*0593*;*1178*
0016 - *0075*;*0311*;*0328*;*0336*;*0342*;*0379*;*0433*;*0436*;*0515*;*0518*;*0522*;*1314*
0017 - *0022*;*0072*;*0091*;*0110*;*0117*;*0119*;*0329*;*0334*;*0423*;*0437*;*0752*;*0753*;*1051*
0018 - *0080*;*0340*;*0364*;*0756*;*0813*;*1357*
2.txt
Код:
0002
0003
0004
0006
0007
Подскажите скрипт, который в первом txt оставит только те строки, которые начинаются на то, что написано во втором txt, а остальные строки удалит. Результат выведет в другой txt файл..
Если брать пример сверху, после применения скрипта результирующий текстовый файл должен быть такой:
Код:
0002 - *0088*;*0141*;*0804*;*1154*
0003 - *0352*;*0692*
0004 - *0056*;*0640*;*0740*;*0746*;*0809*;*1312*
0006 - *0965*;*1055*
0007 - *0176*;*0205*
|
Цитата:
Цитата Alexander_88
результирующий текстовый файл должен быть такой »
|
powershell
Код:
$in1 = '1.txt'
$in2 = '2.txt'
$out = '3.txt'
$enc = 'utf8'
if ($psversiontable.psversion.major -gt 5){
if ($enc -eq 'utf8'){$enc = 'utf-8'}
}
$a=gc -enc $enc $in1
$b=gc -enc $enc $in2
$res = foreach ($item1 in $a) {
foreach($item2 in $b){
if($item1 -match "^$item2"){$item1}
}
}
$res|out-file -force -enc $enc $out
|
DJ Mogarych |
24-07-2022 10:02 2989090 |
Powershell:
Код:
gc "C:\temp\2.txt" |% {(gc "C:\temp\1.txt") -match "^$_"} > "C:\temp\result.txt"
|
Alexander_88 |
24-07-2022 14:34 2989100 |
Спасибо, все четко работает :)
|
Время: 21:17.
© OSzone.net 2001-