Войти

Показать полную графическую версию : Grep + Шаблоны из файла


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?

DJ Mogarych
12-10-2023, 17:46
grep, sed, awk и проч под Windows »
Не имеет смысла, т. к. там есть Powershell.

Serguei Kouzmine
12-10-2023, 22:13
Не имеет смысла »


еще в гит содержится полный баш с grep sed awk и всем всем всем
кто то может сказать это более лучшее решение так как это не повершелл


which grep sed awk
/usr/bin/grep
/usr/bin/sed
/usr/bin/awk

start cmd
where grep
C:\Program Files\Git\usr\bin\grep.exe
where awk
C:\Program Files\Git\usr\bin\awk.exe
where sed
C:\Program Files\Git\usr\bin\sed.exe

YuS_2
13-10-2023, 08:24
может сказать это более лучшее решение так как это не повершелл »
Сказать? Может. Аргументировать - сложнее.
Да и запустить, без дополнительной установки пакета, тоже вряд ли получится, в отличие от powershell. :)




© OSzone.net 2001-2012