DenchikK
12-10-2023, 17:42
Штудируя маны и форумы, наткнулся на функцию grep, такую, как использование шаблонов из файла. Очень бы мне она пригодилась.
Пробую так:
grep -U -A2 -f %FilePatternCannels% %FileIn% > %FileOut%
Где %FilePattern% файл с шаблонами, %FileIn% полный файл, %FileOut% файл только с нужными строками из полного файла согласно содержимого файла шаблона.
К примеру, %FileIn%:
,Пятый
555
,Четвертый
444
,Третий
333
,Второй
222
,Первый
111
,Первый
123
%FilePattern% с шаблонами:
Первый
Третий
Второй
Первый
В результате я получаю:
,Третий
333
,Второй
222
,Первый
111
С одной стороны я получаю из полного файла только те строки, что мне нужны.
Но!
Первое: мне хотелось бы иметь в файле %FileOut% порядок строк в том порядке, как они расположены в файле шаблонов, тобишь в своём порядке, а не в алфавитном, обратном и проч. Пока увидел, что как бы я не выстраивал порядок в файле шаблонов, на выходе порядок будет, как в исходном файле.
Второе: не выводятся строки, уже единожды совпавшие (в примере - второе вхождение Первый 123).
Можно ли это вообще осуществить grep, sed, awk и проч под Windows?
Пробую так:
grep -U -A2 -f %FilePatternCannels% %FileIn% > %FileOut%
Где %FilePattern% файл с шаблонами, %FileIn% полный файл, %FileOut% файл только с нужными строками из полного файла согласно содержимого файла шаблона.
К примеру, %FileIn%:
,Пятый
555
,Четвертый
444
,Третий
333
,Второй
222
,Первый
111
,Первый
123
%FilePattern% с шаблонами:
Первый
Третий
Второй
Первый
В результате я получаю:
,Третий
333
,Второй
222
,Первый
111
С одной стороны я получаю из полного файла только те строки, что мне нужны.
Но!
Первое: мне хотелось бы иметь в файле %FileOut% порядок строк в том порядке, как они расположены в файле шаблонов, тобишь в своём порядке, а не в алфавитном, обратном и проч. Пока увидел, что как бы я не выстраивал порядок в файле шаблонов, на выходе порядок будет, как в исходном файле.
Второе: не выводятся строки, уже единожды совпавшие (в примере - второе вхождение Первый 123).
Можно ли это вообще осуществить grep, sed, awk и проч под Windows?