Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Grep + Шаблоны из файла (http://forum.oszone.net/showthread.php?t=354359)

DenchikK 12-10-2023 17:42 3018052

Grep + Шаблоны из файла
 
Штудируя маны и форумы, наткнулся на функцию 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 3018053

Цитата:

Цитата DenchikK
grep, sed, awk и проч под Windows »

Не имеет смысла, т. к. там есть Powershell.

Serguei Kouzmine 12-10-2023 22:13 3018078

Цитата:

Цитата DJ Mogarych
Не имеет смысла »


еще в гит содержится полный баш с 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 3018096

Цитата:

Цитата Serguei Kouzmine
может сказать это более лучшее решение так как это не повершелл »

Сказать? Может. Аргументировать - сложнее.
Да и запустить, без дополнительной установки пакета, тоже вряд ли получится, в отличие от powershell. :)


Время: 23:58.

Время: 23:58.
© OSzone.net 2001-