The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Опубликована утилита ugrep 5.0 для расширенного поиска в файлах"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Опубликована утилита ugrep 5.0 для расширенного поиска в файлах"  +/
Сообщение от opennews (??), 18-Фев-24, 13:22 
Состоялся выпуск проекта ugrep 5.0, развивающего продвинутый вариант утилиты grep для поиска данных в файлах. Дополнительно поставляется интерактивная оболочка ug с интерфейсом пользователя, предоставляющим предпросмотр окружающих строк.  По производительности ugrep  в разы опережает grep. Код проекта написан на языке С++ и распространяется под лицензией BSD...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=60622

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. Сообщение от Аноним (1), 18-Фев-24, 13:22   +1 +/
Серьёзный вопрос - оно лучше ripgrep? Просто как-то сомневаюсь.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #2, #3, #4, #60

2. Сообщение от амоним (?), 18-Фев-24, 13:27   –19 +/
ты нипанимаишь - ripgrep, пусть и лучше, но на расте. а это тупик для анонов. им надо с сишкой только.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #5

3. Сообщение от амоним (?), 18-Фев-24, 13:28   +/
+ готов поспорить, что оно на 0.00000001% быстрее чем ripgrep
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1

4. Сообщение от Аноним (4), 18-Фев-24, 13:29   +8 +/
Если верить тестам, то ugrep быстрее:

search          -n     -no     -wn     -win     -wino     -c     -wic     -l     -wil
ugrep   0.03     0.03     0.03     0.03     0.03     0.03     0.02     0.03     0.00     0.01
rg      0.03     0.04     0.03     0.05     0.05     0.06     0.03     0.05     0.00     0.02
ag      0.69     0.66     0.40     0.35     0.35     0.35     0.10     0.10     0.10     0.10
ggrep   0.11     0.13     0.15     0.15     0.53     0.53     0.11     0.51     0.00     0.08

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #9, #10

5. Сообщение от Аноним (5), 18-Фев-24, 13:30   +10 +/
А чем оно лучше? Синтаксис регулярок свой собственный, обглоданный и ни с чем не совместимый, постоянно падает, пытается читать сразу несколько файлов и тормозит.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #68

7. Сообщение от Аноним (12), 18-Фев-24, 13:55   –8 +/
Ripgrep круче и удобней, а это просто тот же grep, но быстрый и на крестах. Не понял зачем оно нужно для моих задач.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #16, #39, #123

8. Сообщение от Пользователь планеты Земля (?), 18-Фев-24, 13:56   –1 +/
я так понимаю это что-то типа [ ripgrep-all + fzf ] в одном флаконе, но по фичам всё же до них не дотягивает ибо ripgrep-all поддерживает больше форматов а fzf имеет больше возможностей. В общем очередной комбайн.
Ответить | Правка | Наверх | Cообщить модератору

9. Сообщение от Аноним (5), 18-Фев-24, 14:03   +/
По тестам и мюсли у авторов быстрее. Я проверял, на практике, рип не более чем на несколько процентов быстрее гну греп -- всё в пределах погрешности в итоге, но, при этом, это жалкий огрызок не являющийся заменой и сравнение даже не было равноценным. Ну и, всё же, чтобы засегфолтить гну греп придётся ещё попотеть.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #11, #12

10. Сообщение от Пользователь планеты Земля (?), 18-Фев-24, 14:14   +/
я так понимаю для "правильных" тестов нужно знать правильный набор флагов ?
для себя провёл простой тест "без всяких", просто найти слово rust
для более релевантного ответа трижды прогрел(запустил) тест и вывел самый последний.
релевантного потому что при первом тесте ugrep сильно задумался на десяток секунд в то время как ripgrep был быстр с первого же теста.

$ time ug rust
...
________________________________________________________
Executed in    3.12 secs    fish           external
   usr time    8.72 secs  297.00 micros    8.72 secs
   sys time    2.04 secs    0.00 micros    2.04 secs


$ time rg rust
...
________________________________________________________
Executed in   23.43 millis    fish           external
   usr time   36.95 millis  261.00 micros   36.69 millis
   sys time   40.13 millis   77.00 micros   40.05 millis

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #36, #40

11. Сообщение от Голум (?), 18-Фев-24, 14:15   +/
> не более чем на несколько процентов

```
% du -hs .
242M    .
% time grep --color=auto -R test 2>&1 > /dev/null
0,11s user 0,51s system 97% cpu 0,630 total
% time rg -uuu test 2>&1 > /dev/null
0,17s user 0,64s system 718% cpu 0,113 total
```

Да, всего-то на каких-то 500% быстрее. Спасибо многопоточности.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #13, #44

12. Сообщение от Аноним (12), 18-Фев-24, 14:16   +/
Не знаю как ты тестил, у меня на стандартных задачах rg в 2-10 раз быстрее гнугрепа.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #15, #82

13. Сообщение от Аноним (5), 18-Фев-24, 14:19   –4 +/
Это не равноценно. Если сравнивать в 1 поток (единственное практическое применение) и с регулярками, то всё не так замечательно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11 Ответы: #14, #18, #46

14. Сообщение от Голум (?), 18-Фев-24, 14:20   +5 +/
И зачем нужно страдать, используя его в 1 поток?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

15. Сообщение от Аноним (5), 18-Фев-24, 14:22   –1 +/
Полноценно тестил. Когда хотел ускорить поиск по дереву исходников. Быстрее он только когда есть быстрый случайный доступ. А это не то, что стоит замерять. Вообще, моя главная претензия это низкая надёжность и непредсказуемость.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #19

16. Сообщение от Anonimus (??), 18-Фев-24, 14:48   +1 +/
Не пользуйся
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7

18. Сообщение от Аноним (18), 18-Фев-24, 15:03   +3 +/
А с какого рожна сравнение должно быть равноценным?! Типа сравнивая болид F1 с Москвичем у болида надо движок поменять и шины сдуть?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #20

19. Сообщение от Аноним (18), 18-Фев-24, 15:06   +1 +/
Да уже поняли, что ты тестил rg в 1 поток. Хочешь реального прироста - юзай все возможности. Смысл rg в его фичах, а не в том, что там какая-то особая раст-магия, которая делает его быстрее.

Что касается надёжности - хз, года 2 как перешёл с грепа (в том числе в скриптах), проблем не видел.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #21

20. Сообщение от Аноним (5), 18-Фев-24, 15:09   –2 +/
Тут скорее Ока сравнивается с Мерседесом. Конечно, глупо сравнивать 1 в 1, если возможности и применения разные, но хотелось бы видеть сравнения в том, в чём они выполняют одни и те же функции. И да, Ока ржавая.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #18 Ответы: #22

21. Сообщение от Аноним (5), 18-Фев-24, 15:12   +/
Когда я тестил не в 1 поток, гну греп ушёл вперёд с большим отрывом, а рип работал в разы дольше целиком забивая io.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #24, #31, #32

22. Сообщение от Голум (?), 18-Фев-24, 15:16   +/
Ржавая Ока и Мерседес с одинаковой скоростью стоят в пробке. Стоит ли переплачивать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #23

23. Сообщение от Аноним (5), 18-Фев-24, 15:20   +1 +/
> Ржавая Ока и Мерседес с одинаковой скоростью стоят в пробке. Стоит ли
> переплачивать?

Имхо, Ока ломается чаще и неожиданнее. Тут уже личный выбор, стоит ли переплачивать за комфорт и предсказуемость, или же для задач хватит собранной в гараже таратайки, которая будет сыпаться на ходу.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #61

24. Сообщение от Голум (?), 18-Фев-24, 15:33   +/
А можно поподробней? На какой версии, с какими ключами, с какими регулярками и на каком наборе файлов проходило исследование? Может, всплыл какой-то специфический баг, который могли и починить уже.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #25, #33

25. Сообщение от Аноним (5), 18-Фев-24, 15:36   +/
Полагаю, дело было в iowait. А когда крашилось, это определённо баги, но мне не настолько интересно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #26

26. Сообщение от Голум (?), 18-Фев-24, 15:53   +/
Года за 4 использования не сталкивался ни с крашами, ни с лагами, хотя и длинные сложные регулярки не писал.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #27

27. Сообщение от Аноним (5), 18-Фев-24, 16:01   +/
Странно, я столкнулся в первую же неделю. Правда, и регулярки у меня специфические, а у раста свой наколенный диалект со своими глюками. Но там была зависимость от данных, не каждый файл триггерил, а это явно не дело. Миллионы раз за день вызывается же и нельзя работать только на идеальных, вручную подготовленных данных. В частности, там по-моему были приколы с символом возврата каретки. Как можно не заметить iowait, я не представляю.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #51

31. Сообщение от Аноним (31), 18-Фев-24, 17:05   +/
У тебя там одноядерный процессор и IDE-диск что ли? Рипгреп для солидных господ с многоядерными системами и NVME.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

32. Сообщение от Аноним (49), 18-Фев-24, 17:20   +/
Ну это просто ложь. Даже в этом треде есть выхлопы. Зачем вводить в заблуждение? Каждый же легко может проверить
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #34

33. Сообщение от Аноним (49), 18-Фев-24, 17:21   –1 +/
Да очевидно чел просто врёт, потому что очень нравится греп)


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #35

34. Сообщение от Аноним (5), 18-Фев-24, 17:24   –2 +/
В том и пертрушка, что любой может убедиться в правдивости. А если не получилось, тут повод задуматься о смене профессии на более подходящую способностям.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #53

35. Сообщение от Голум (?), 18-Фев-24, 17:36   +/
Сам посравнивал, в некоторых условиях в пайпе rg получался до 20% медленнее гнугрепа, а сабж – до 50%.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #33 Ответы: #52

36. Сообщение от Заноним (?), 18-Фев-24, 17:37   +1 +/
"Какие-то неправильные у вас гуси":

$ time grep -R xml ./kitchen 1>/dev/null 2>/dev/null
cpu=99% user=0.053 system=0.495 total=0.550

$ time ug -R xml ./kitchen 1>/dev/null 2>/dev/null
cpu=92% user=0.001 system=0.002 total=0.003

$ time rg xml ./kitchen 1>/dev/null 2>/dev/null  
cpu=1142% user=0.238 system=1.508 total=0.153


Но ugrep из блэкджеком:
$ grep -R xml ./kitchen 2>/dev/null | wc -l
63474

$ ugrep -R xml ./kitchen 2>/dev/null | wc -l
63468

$ rg xml ./kitchen 2>/dev/null | wc -l
63474


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #37, #47

37. Сообщение от Заноним (?), 18-Фев-24, 17:55   +/
А вообще, какая-то дичь в ugrep:

$ time ug -R xml ./kitchen 2>/dev/null | wc -l    
63468
cpu=475% user=0.605 system=2.352 total=0.621
cpu=27% user=0.023 system=0.147 total=0.621

$ time ugrep -R xml ./kitchen 2>/dev/null | wc -l
63468
cpu=968% user=0.331 system=1.196 total=0.158
cpu=48% user=0.010 system=0.066 total=0.157


$ pacman -Qo $(which ugrep)
/usr/bin/ugrep is owned by ugrep 5.0.0-1

$ pacman -Qo $(which ug)  
/usr/bin/ug is owned by ugrep 5.0.0-1

$ sha256sum $(which ug)
84ba767400753ac772df0d87c08f9f5e8e127ec3df1ab3f9367662e1e23a10da  /usr/bin/ug

$ sha256sum $(which ugrep)
f99d9cca69c3846141dad581baf2bad240614490834471b556cffa6e976e929a  /usr/bin/ugrep

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36 Ответы: #38

38. Сообщение от Пользователь планеты Земля (?), 18-Фев-24, 18:17   +/
там вообще 4 утилиты, наверное для разных задач
$ pacman -Ql ugrep
...
ugrep /usr/bin/ug
ugrep /usr/bin/ug+
ugrep /usr/bin/ugrep
ugrep /usr/bin/ugrep+

по поводу "неправильных гусей", даже если искать в одном файле у меня всё равно rg быстрее
$ time rg json .bash_history 1>/dev/null 2>/dev/null

________________________________________________________
Executed in    2.18 millis    fish           external
   usr time    0.38 millis  384.00 micros    0.00 millis
   sys time    1.84 millis    0.00 micros    1.84 millis

$ time ug -R json .bash_history 1>/dev/null 2>/dev/null

________________________________________________________
Executed in    3.01 millis    fish           external
   usr time    2.73 millis    0.00 micros    2.73 millis
   sys time    0.32 millis  324.00 micros    0.00 millis

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

39. Сообщение от Аноним (40), 18-Фев-24, 18:22   +1 +/
Не знаю как с ugrep, но вот чем rg не удобный:
1) Многие символы в начале шаблона поиска надо экранировать '\{' '\-'
2) Сильно урезанные регулярки без lookahead/lookbehind (имхо, одна из главных фич регуярок)
3) Не то чтобы стабильный, в некоторых версиях например не работал поиск по glob'ам, а для rg это ключевая фича для поиска по файлам с определенным именем

Не стал записывать в минусы, но скорость rg достигается в основном агрессивными флагами, с -uuu он уже поскромнее. А без -uuu не ищет в .gitignore (ок, не всегда нужно), дотфайлах (это уже критично и про это надо вспомнить), бинарных файлах (мне некритично)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7 Ответы: #41, #120

40. Сообщение от Аноним (40), 18-Фев-24, 18:25   +/
> для себя провёл простой тест "без всяких", просто найти слово rust

Соревнование по дефолтной агрессивности флагов?
Пришлите мне тестовую директорию, соберу утилитку которая обгонит любого конкурента, тестовую директорию и запрос не менять ;)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #42

41. Сообщение от Аноним (49), 18-Фев-24, 18:47   +1 +/
Всё так. Rg при _вдумчивом_ применении рвёт аналоги просто на порядки. Ugrep такой же как grep, но прост побыстрей. Для себя пробовал юзать grep, ugrep, rg в параллели - понял что в целом rg удобней.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39 Ответы: #43

42. Сообщение от Пользователь планеты Земля (?), 18-Фев-24, 19:09   +/
> Соревнование по дефолтной агрессивности флагов?

нет, просто эмуляция того что например через пару недель мне вдруг нужно будет найти файл где упоминается определённое слово или словосочетание, а это сценарий в 98% случаев, так вот то что вы называете "дефолтная агрессивность флагов" я, да и большинство думаю согласятся, в данном случае, можно назвать разумным выбором дефолтных флагов автором программы. Как по мне, в таких случаях, проще добавить недостающие флаги чем убавить лишние.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

43. Сообщение от Аноним (5), 18-Фев-24, 19:10   +/
Он даже запускается дольше.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41 Ответы: #45

44. Сообщение от barmaglot (??), 18-Фев-24, 19:14   +1 +/
Герой, поиск по файловой системе замерил :) И рип запустил вторым на прогретом кэше.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #11

45. Сообщение от Аноним (49), 18-Фев-24, 19:17   +/
Кто?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #43

46. Сообщение от barmaglot (??), 18-Фев-24, 19:18   +/
Это не только не равноценно, сравнивать прогретый кэш ФС с не прогретым, так ещё и считать не умеет: разница около 100мс , прибавка к производительности ~20% и при этом 8-ми кратное использование ЦПУ у рг. Ну г. как г. ...
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13 Ответы: #48

47. Сообщение от barmaglot (??), 18-Фев-24, 19:24   +/
Вот как тестировать нужно. рг самый быстрый, т.к. его просто нет! Неуловимый Джо!
[~/test]
> time egrep -R "^test" . >/dev/null 2>&1

real    0m6.464s
user    0m3.913s
sys    0m2.308s

[~/test]
> time egrep -R "^test" . >/dev/null 2>&1

real    0m5.858s
user    0m3.870s
sys    0m1.935s

[~/test]
> time egrep -R "^test" . >/dev/null 2>&1

real    0m5.835s
user    0m3.875s
sys    0m1.907s

[~/test]
> time ug -R "^test" . >/dev/null 2>&1

real    0m1.891s
user    0m0.641s
sys    0m1.228s

[~/test]
> time rg -R "^test" . >/dev/null 2>&1

real    0m0.001s
user    0m0.001s
sys    0m0.000s

[~/test]
> which rg

which: no rg in (...)

[~/test]
> which ug

/usr/bin/ug

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #36

48. Сообщение от Аноним (-), 18-Фев-24, 19:27   +1 +/
>> 0,630 total
>> 0,113 total
> так ещё и считать не умеет: разница около 100мс , прибавка к производительности ~20% и
>> 97%
>> 718%
> при этом 8-ми кратное использование ЦПУ у

Сразу виден старый, заслуженный Ветеран-Воен Супротив Раста - забросил в свое время школу, дабы посвятить себя всего защите Земли (и Вселенной) от Ржавой Угрозы!

Правда, это постоянно аукается ...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #46 Ответы: #49

49. Сообщение от Аноним (49), 18-Фев-24, 19:32   +/
Ага, эти подделают любые тесты лишь бы своего любимчика выгородить. Не раз уже пойманы за руку)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #48 Ответы: #89

50. Сообщение от Аноним (50), 18-Фев-24, 23:00   –1 +/
Работать с такой утилитой учиться надо. Однострочник на перле будет короче и примерно в сто раз понятнее, чем мантры нестандартных флажков. Для большинства ситуаций можно обойтись rgrep | xargs sed. Люди не учат базовые юниксовые вещи, не понимают, что так можно.

>написан на языке С++
>распространяется под лицензией BSD

Шаблон порвал automake в качестве сборочной системы. Ожидал cmake или meson.
>ug

С названием утилиты зато все хорошо.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #54

51. Сообщение от Аноним (12), 18-Фев-24, 23:29   –1 +/
Где тесты, мань? Где багрепорты? Может хватит врать?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #27 Ответы: #55

52. Сообщение от Аноним (12), 18-Фев-24, 23:30   –1 +/
Пруфы, конечно же, никто и не думал предоставлять (с) Каневский
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #119

53. Сообщение от Аноним (12), 18-Фев-24, 23:33   +/
Конечно задумайся. Без пруфов приходить к технарям врать - это достойно настоящего гуманитария. РГГУ, держись, идёт подмога.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34 Ответы: #56

54. Сообщение от Аноним (12), 18-Фев-24, 23:37   +3 +/
О, а вы, я погляжу, юникс ветеран? Ну давайте сравним юниксовый grep/sed с гнутым. Какой из юниксов возьмём?) Я бы предложил digital unix, да помер он 15 лет назад.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #83

55. Сообщение от Аноним (5), 18-Фев-24, 23:42   +1 +/
Мне, в общем-то, всё равно что там фанатки ржавого думают, я уже несколько раз собирал эту дрянь и тратил время, больше не собираюсь. Это определённо самая паршивая программа на ржавчине из существующих.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #57

56. Сообщение от Аноним (5), 18-Фев-24, 23:49   +/
> Конечно задумайся. Без пруфов приходить к технарям врать - это достойно настоящего
> гуманитария. РГГУ, держись, идёт подмога.

Т.е. ты сейчас серьёзно заявляешь, что, по-твоему, многопоточное чтение со случайным доступом будет не хуже последовательного однопоточного, и тебе надо предоставить доказательства обратного? Что у тебя в голове вообще?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #53 Ответы: #79

57. Сообщение от Голум (?), 18-Фев-24, 23:54   +/
> Это определённо самая паршивая программа на ржавчине из существующих.

Остальные ещё не лучше.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #55

58. Сообщение от rvs2016 (ok), 19-Фев-24, 00:33   +/
> неточный поиск (fuzzy)

Это как? 🤔

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #62, #94, #116

59. Сообщение от rvs2016 (ok), 19-Фев-24, 00:35   +/
> вложенный поиск,

И это как? 🤔

> перекодирование текстовых кодировок

Кодировки из какого набора?
Из iconv --list?

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #64

60. Сообщение от rvs2016 (ok), 19-Фев-24, 00:47   +2 +/
> Серьёзный вопрос - оно лучше ripgrep?

В работе с кодировками - лучше.

ripgrep не обрабатывает шаблоны, содержащие русские буковки:

% rg -i эмулятор *
found invalid UTF-8 in pattern at byte offset 0: \xDC\xCD\xD5\xCC\xD1\xD4\xCF\xD2 (disable Unicode mode and use hex escape sequences to match arbitrary bytes in a pattern, e.g., '(?-u)\xFF')
У меня терминал не utfный, а koi8й.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #1 Ответы: #80, #111, #114

61. Сообщение от rvs2016 (ok), 19-Фев-24, 00:52   +/
> Имхо, Ока ломается чаще

Ремонт Мерседеса - дороже.
Это уже 2-я переплата за него.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #77

62. Сообщение от Аноним (62), 19-Фев-24, 01:20   +1 +/
Когда ты ищешь, к примеру, "каледор", но поиск выдаёт так же и правильное "коридор". Т.е. выдаёт слова, ПОХОЖИЕ на искомое.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58 Ответы: #78

63. Сообщение от Аноним (62), 19-Фев-24, 01:43   –5 +/
Сразу видно, утилиту писал линynсоидный "юзабилист" (в кавычках, потому что самый отстойный юзабилист на планете).

Это утилита ПОИСКА. А значит должна работать по-умолчанию с максимально юзабельными флагами. Что это такое - автору ugrep неизвестно, поэтому сразу же наляпал дерьма в дефолтовых значениях:

1. РегистроЗАВИСИМЫЙ поиск. Чегобл?!?! Вы серьёзно предлагаете мне учить и вытаптывать на клаве все регистры (будто я их помню) ?! Я только помню openfile, я почём знаю, какие там буквы верхние? Факап.

2. По какой-то туnой логике автор думает, что у всех один каталог со всеми сорсами и он там ищет. А ничего, что есть ВЛОЖЕННЫЕ каталоги, в которых утилита НЕ ищет?! Де6илизм...

3. Нет вывода номера строки. Этот клоун что думает, я нашёл файл чисто "поглазеть на имя"? Мне и строка нужна! Мне некогда шароёпиться по файлу и искать, где он там нашёл совпадение.


Понимаю, клаводр0черы сразу же предложат "создать батник", но... зачем создавать батник, если можно сразу сделать по-человечески?! Что за наплевательское отношение к людям? Или он думает, что скопировал г:::но 40-летней давности (grep), значит и все порочные практики надо тоже сюда тащить?! Нет уж, жрите сами.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #65, #66, #90, #104

64. Сообщение от Аноним (62), 19-Фев-24, 01:46   +/
Вложенный - видимо, поиск в результатах. Скажем, ищешь строку, где есть коммент "//TODO", а потом среди тудушек ищешь задачу со словом update. Это ЕСЛИ вложенный поиск идёт в найденой строке. А учитывая туnую логику автора, он может искать и чисто в файле!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59

65. Сообщение от Аноним (62), 19-Фев-24, 01:58   +/
Ну и ещё по этому юзабиласту: запуск в венде с -Q выдал:

[mugrep:  [1;31mno ANSI terminal keyboard detected [m


Ну да, ну да, пошли мы нафиг, юзеры оффтопика :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #70

66. Сообщение от Вы забыли заполнить поле Name (?), 19-Фев-24, 02:04   +1 +/
По-поводу 1 2 3 - это дефолты в grep.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #74, #81, #98

67. Сообщение от Аноним (67), 19-Фев-24, 03:50   +/
Нашли с чем сравнить по скорости - с grep. Академический пример из всех книг по Perl - однострочный скрипт работает быстрее, чем компилированный grep.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #72

68. Сообщение от Аноним (-), 19-Фев-24, 05:52   +3 +/
> А чем оно лучше? Синтаксис регулярок свой собственный, обглоданный и ни с
> чем не совместимый, постоянно падает, пытается читать сразу несколько файлов и тормозит.

Ну так они и назвали его rip намекая на перспективы проекта. Провиды бывают даже среди хрустиков :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5

70. Сообщение от Аноним (111), 19-Фев-24, 08:08   +4 +/
> Ну да, ну да, пошли мы нафиг, юзеры оффтопика

Всё правильно.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65

72. Сообщение от Sw00p aka Jerom (?), 19-Фев-24, 08:55   +/
а смысл сравнивать, если все упирается в IO, ищем ведь один раз, и этот раз - всегда будет медленным внезависимости как назвать Г или УГ или РГ :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

73. Сообщение от Golangdev (?), 19-Фев-24, 08:56   +/
Нихрена оно по .docx не ищет.

Не нужно.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #75, #117

74. Сообщение от Аноним (74), 19-Фев-24, 10:09   +1 +/
Думаешь, ему есть какое-то дело до вопросов совместимости, и чтобы скрипты не ломались?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #97, #102

75. Сообщение от Аноним (75), 19-Фев-24, 11:14   +/
По docx искать нужно сервер поиска ставить под венду.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73 Ответы: #93

76. Сообщение от Аноним (75), 19-Фев-24, 11:15   +/
Как поставить одной командой?
Ответить | Правка | Наверх | Cообщить модератору

77. Сообщение от Аноним (77), 19-Фев-24, 12:29   +/
А с жизнью в Оке расстаться проще.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #61

78. Сообщение от pavlinux (ok), 19-Фев-24, 12:32   +2 +/
Княжество Каледор − место, где находится Кузница Ваула, самый яростный из всех вулканов Ултуана.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #62

79. Сообщение от Аноним (77), 19-Фев-24, 12:36   +/
Тебе уже попытались намекнуть, что всё зависит от условий:
1. Типа носителя. Для SSD в общем случае фрагментированность не играет никакой роли.
2. Наличие файла в кеше.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #56 Ответы: #84

80. Сообщение от Аноним (-), 19-Фев-24, 12:48   +/
> У меня терминал не utfный, а koi8й.

Серьезно?
Я думал такие индивидуумы вымерли еще лет 10 назад.
Ну уж простите что современный софт не пишется с поддержкой старого хлама.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #87

81. Сообщение от Аноним (-), 19-Фев-24, 12:52   –1 +/
> По-поводу 1 2 3 - это дефолты в grep.

Т.е. если какие-то долбояшщеры 100500 лет назад приняли тупейшее решение...
то мы должны тянуть это годами "патамушта диды завещали не ломать обратную совместимость"???
И в этом весь линукс... Не дай бог сломать скриптик какого-то неосилятора исправить!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66 Ответы: #91, #96

82. Сообщение от User (??), 19-Фев-24, 12:54   +/
А "стандартные задачи" это что?
У меня - ну вот выхлоп stdout отфильтровать - уже даже в логи заглянуть задача все более "не стандартная" да и... и примерно все, наверное.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12

83. Сообщение от Аноним (50), 19-Фев-24, 13:20   +3 +/
Совершенно не обязательно быть ветераном и с 80х годов пользоваться юниксами, чтобы использовать мощь юниксового подхода. Я очень редко админил фряху, но жил всегда на линуксе, так что никаким ветераном юникса не являюсь.
Юникс - это прежде всего мышление и подходы.
Как большинство пользует стандартные утилитки? В основном, копируя готовые "команды". Тогда как настоящая мощь в том, чтобы писать программу под каждую идею. Шелл, сед, авк, перл - куча вариантов. 95% сисадминов на это не способны, потому что предпочитают не вылезать из окошек, не хотят мыслить потоками данных, их фильтрами, трансформациями, перенаправлениями. Хотят императивно перебирать "сущности", писать условия (расставлять флажки). Инстинктивно понятная любой обезьяне деятельность.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #54 Ответы: #95

84. Сообщение от Аноним (5), 19-Фев-24, 13:22   +/
С какой целью кто-то будет намекать очевидное? Вообще, ты ошибаешься, фрагментированность тут не при чём (попробуй найди ещё такой фрагментированный файл), однако, она значительно просаживает производительность чтения, в том числе на ссд (при чём тут вообще ссд, кстати?), поскольку случайное чтение и так очень неэффективное (а данные размазаны по носителю), и уж когда оно параллельное тут прелести во всей красе вылезают. Про кэши глупость какая-то, пожалуй, оставлю без комментариев.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #79

85. Сообщение от mos87 (ok), 19-Фев-24, 13:36   +/
ag уже не моден как погляжу? стОит с него переползать на сабж?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #121

87. Сообщение от pavlinux (ok), 19-Фев-24, 14:02   –1 +/
> Ну уж простите что современный софт не пишется с поддержкой старого хлама.

Современный софт пишет вот такая же школота как ты. Между KOI8 (любой) и UTF8/16/32/LE/BE
есть таблицы сопоставления,  но такие говнокодеры из тиктока не вдупляют про библиотеку icov

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #80

89. Сообщение от barmaglot (??), 19-Фев-24, 14:51   +/
Ага, 3.14здеть,  не мешки  ворочать.

Ответ был на вот этот коммент:
'''
% du -hs .
242M .
% time grep --color=auto -R test 2>&1 > /dev/null
0,11s user 0,51s system 97% cpu 0,630 total
% time rg -uuu test 2>&1 > /dev/null
0,17s user 0,64s system 718% cpu 0,113 total
'''

гг: 0.11с юзер тайм + 0.51с систем тайм = 0.62с
рг: 0.17с юзер тайм + 0.64с систем тайм = 0.81с

рг на 23.45% медленнее. И жрёт 718% цпу, при этом тотал оказался 0.113 :):):):):) это каким идиотом нужно быть, чтоб подобние публиковать?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #49

90. Сообщение от User (??), 19-Фев-24, 16:50   +/
Ну, персонально _я_ предполагаю, что по исходникам имеет смысл искать с помощью _ide_, а не прикручивать к чему-то-там "фигню сорокалетней давности" в попытках эту самую IDE получить.
А вот для работы уже готовых скрЫптов Эн-летней давности стабильность "воооон тооой фигни" важна-и-нужна.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63 Ответы: #101

91. Сообщение от User (??), 19-Фев-24, 16:53   +/
Ну, вы ж дохреналлион баш-портянок за нас всех переписывать не пойдете? С появлением systemd их количество несколько снизилось с а(х)фиглиарда до всего лишь дохреналлиона - но наткнуться мизинцем-об-табуретку когда какой-то пионЭр в centos'е 8 "поменял" родной-немодный grep на вот новый ripgrep - было нифига не прикольно.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81 Ответы: #103

93. Сообщение от Аноним (93), 19-Фев-24, 19:19   +/
С какого перепугу? *.Docx - это всего лишь зипованный XML. Его можно обрабатывать и на Linux и на Windows. Не путать с бинарным форматом *.Doc.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #105

94. Сообщение от Quad Romb (ok), 19-Фев-24, 20:08   +/
Наверное, выдать результаты отличающиеся на несколько символов от заданной маски и/или образца.
Документацию не читал, сразу честно признаюсь.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

95. Сообщение от AKTEON (?), 19-Фев-24, 23:37   +/
Вот-вот. У нас один сотрутник таскает  awk в windows
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #83

96. Сообщение от Вы забыли заполнить поле Name (?), 20-Фев-24, 00:39   +/
>> По-поводу 1 2 3 - это дефолты в grep.
> Т.е. если какие-то долбояшщеры 100500 лет назад приняли тупейшее решение...

С чего вдруг?

1. По умолчанию поиск ищет соответствие шаблону. Я бы ожидал регистрозависимого поиска.
2. Рекурсивный поиск - более трудоемкая задача. Проведи аналогии с яп, где deepcopy никогда не применяется по умолчанию.
3. Чаще всего нужен результат, чтобы его передать на вход другой команде.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #81 Ответы: #99

97. Сообщение от Вы забыли заполнить поле Name (?), 20-Фев-24, 00:43   +/
> Думаешь, ему есть какое-то дело до вопросов совместимости, и чтобы скрипты не
> ломались?

Очевидно, да.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

98. Сообщение от Аноним (102), 20-Фев-24, 04:08   +/
Ну ты мне прямо глаза открыл! :)) А ничего, что эти "дефолты" придумывали люди с ограниченным умишком и 40 лет назад?! Время идёт, практики меняются, совершенствуются. То, что в 197* казалось очевидным, в 202* уже кажется смешным. Если уж вы делаете утилиту для НАБОРА ПАЛЬЦАМИ В КОНСОЛИ, неужели нельзя сделать дефолты максимально юзабельными?! Чтобы мне требовалось набрать ТОЛЬКО "ug подстрока" и ВСЁ!
Очевидно же, что чем меньше надо указывать флагов, тем быстрее работа.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #66

99. Сообщение от Аноним (102), 20-Фев-24, 04:16   –1 +/
1. Объясни, ЗАЧЕМ тебе "регистрозависимый поиск". Ты что, боишься найти "машу" вместо "Маши"?? Это не праздный вопрос, просто хочу поглядеть, ты просто усираешься над защитой "дидов" или у тебя есть реальные причины.

2. На компьютере вообще ВСЁ трудоёмкое! От декодирования JPEG до записи файла в служебные таблицы ФС. И что теперь - работать на "отъявись"? Если я докатился до ПОИСКА, значит очевидно, что я НЕ ЗНАЮ, где мой файл! А учитывая иерархии, даже как-то глупо объяснять школотронам, что поиск ВГЛУБЬ нужен как воздух. ОСОБЕННО если это сорсы.

3. Не натягивай личные практики на общие утилиты. Grep - это grep, это ПОИСК. Забыл где конфиг - грепанул и нашёл, причём тут "вход другой команды"? _Я_, человек, занимаюсь поиском, потому что мне нужно найти файл.

Итого, вижу полный и глупый антагонизм моим замечаниям "лишь бы по_с_раться". Логику ЧЕЛОВЕЧЕСКУЮ примени и сразу удивишься, насколько чужероден мир линукса внешнему обывателю.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96 Ответы: #112, #113

101. Сообщение от Аноним (102), 20-Фев-24, 04:21   +/
Бывает, задача не только в сорсах! Например, ты забыл, какой вебсайт у тебя на порту 8080. Грепанул - вот тебе конфиг! И чем меньше надо указывать флагов в консоли, тем лучше - вот моя претензия.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90 Ответы: #108

102. Сообщение от Аноним (102), 20-Фев-24, 04:24   +/
Причём тут вообще совместимость?! ugrep - это НОВАЯ утилита. Да, "по мотивам" старого grep, но написана-то она в 21 веке! Уж наверное если кто-то заморочился написать ЕЩЁ ОДНУ искалку, то она совсем не обязательно должна быть совместимая. Желательно, но не обязательно. ТЕМ БОЛЕЕ, что если у тебя тыщща "скриптов", нафига тебе ugrep?! Юзай старую, СОВМЕСТИМУЮ grep, делов-то! А вот для новых практик "пальцетыканья в консоли" утилита должна предоставлять максимально краткий синтаксис и максимально удобные дефолты.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74

103. Сообщение от Аноним (102), 20-Фев-24, 04:28   +/
А кто вообще вас заставляет менять grep на ugrep!??!?! Нужны скрипты - сидите на протухшем grep, он всё равно всегда есть в системе. Но для работы, для БЫСТРОГО поиска файлов, сделали ugrep, которой вообще не обязательно быть совместимой с grep. Не настолько "диды" были умные, делая умолчания для grep. И ugrep может (и должен) исправить эту порочную практику. Пункты я указал, АРГУМЕНТЫ против имеются? (кроме остоnи3девшей мантры "совместимость с тухлым прошлым")
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91 Ответы: #107

104. Сообщение от Аноним (102), 20-Фев-24, 04:33   +/
Ещё один косяк:
По старой юниксоидной привычке автор режет файл по '\n'. В венде же (для которой ugrep тоже скомпилен) принято окончание '\r\n'. Соотв. когда утилита выдаёт JSON-вывод, ВСЕ файлы имеют на конце мусорный '\r' - спасибо, рук0*опы, что кладёте болт на стандарты в ОС!
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

105. Сообщение от Аноним (102), 20-Фев-24, 04:55   +1 +/
К слову, ugrep УЖЕ УМЕЕТ искать в архивах, так что всё, что ему нужно - как-то "просеивать" теги ворда и выводить текст.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93

106. Сообщение от Аноним (102), 20-Фев-24, 05:00   +1 +/
Если кому интересно, слепил WPF-прогу - враппер для ugrep:

https://ic.pics.livejournal.com/thornik/956427/117679/117679...

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #110

107. Сообщение от User (??), 20-Фев-24, 07:43   +/
> А кто вообще вас заставляет менять grep на ugrep!??!?! Нужны скрипты -
> сидите на протухшем grep, он всё равно всегда есть в системе.
> Но для работы, для БЫСТРОГО поиска файлов, сделали ugrep, которой вообще
> не обязательно быть совместимой с grep. Не настолько "диды" были умные,
> делая умолчания для grep. И ugrep может (и должен) исправить эту
> порочную практику. Пункты я указал, АРГУМЕНТЫ против имеются? (кроме остоnи3девшей мантры
> "совместимость с тухлым прошлым")

1. Меня - никто не заставляет, но у пионЭров периодически че-шет-ся.
2. Собственно, называйся оно какой-нибудь bystroye_iskalko - ваще без вопросов. Но ассоциировать себя с grep'ом будучи при этом чуть-чуть, самую капельку, малость - "не таким"... осуждаем, решительно осуждаем. Фу таким быть!
3. As for me - интерактивное грепование по кучам мусора на боевых серверах все больше-и-дальше уходит в область "славного прошлого"-туды-ему-и-дорога, а вот кривая-косая-горбатая скриптота с нами, увы, примерно "навсегда". Поиск по электронной почте? По адресной книге\контактам? По пачке docx\pdf? По имени файла, раз уж "по содержимому" мы ниалё? Неее, ребят - со всем этим вам не сюда. Сколько-нибудь осмысленный (Не "переменная Х_Е_Р", а find usages\goto definition хотя бы) поиск по проекту? Опять мимо. Логи греповать? Так эластик или там какой loki тупо удобней в современных окружениях. Локально на сервере? Ну, там где это осмысленно - journalctl тупо быстрее, да еще и позволяет серверу в этот момент делать что-нибудь полезное, а не только "греповать-в-цать-потоков". Есть задачи, где\когда grep все еще нужен\удобен - но для меня они настолько "разовые", что на скорость\"удобство"  примерно покласть - не стоит того, чтобы переучиваться.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #103

108. Сообщение от User (??), 20-Фев-24, 07:53   +/
> Бывает, задача не только в сорсах! Например, ты забыл, какой вебсайт у
> тебя на порту 8080. Грепанул - вот тебе конфиг! И чем
> меньше надо указывать флагов в консоли, тем лучше - вот моя
> претензия.

Эм. Ну... "А НАХРЕНА?"
Вот чот даже как-то и сообразить не могу, в каком случае у меня на одном сервере может завестись пачка сайтов на разных портах и нахрена мне при этом выяснять их принадлежность именно "от порта", причем делать это достаточно часто, чтобы имело смысл букАвы экономить?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101

110. Сообщение от Аноним (111), 20-Фев-24, 11:17   +/
> WPF

Зaкoпaй это обратно, где взял.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #106

111. Сообщение от Аноним (111), 20-Фев-24, 11:19   +2 +/
> ripgrep не обрабатывает шаблоны, содержащие русские буковки:

Да при чём тут "русские буковки", когда у тебя:

> терминал не utfный, а koi8й.

Год сейчас уже 2024-й.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

112. Сообщение от Серб (ok), 20-Фев-24, 13:02   +/
1. Очевидно, что практика программирования и конфигурирования показывает сильную разницу между поиском, например host и Host. Насколько я могу судить в винде не так. Но кого это волнует.
2. Для поиска вглубь есть find который ищет файлы по куче условий. А вот уже список файлов можно использовать для grep.
3. При том, что для быстрого поиска по файлам используются специальные сервисы, которые хранят индексы для файлов для быстрого поиска.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #99

113. Сообщение от Серб (ok), 20-Фев-24, 13:22   +/
Добавлю простенький пример:

find ./ \( -name "*.cpp" -or -name "*.hpp" \) ! -name moc_* -exec grep -H File {} \;

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #99

114. Сообщение от morphe (?), 20-Фев-24, 13:58   +/
> У меня терминал не utfный, а koi8й.

Вот он и сказал что ты дал ему на вход не utf-8, а набор байт (у ripgrep 2 режима - unicode и bytes, у других грепов обычно только bytes), и предложил как можно выключить utf-8 mode (= перейти в режим bytes) для работы с этим

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60

116. Сообщение от Аноним (123), 21-Фев-24, 09:38   +1 +/
Позволяет находить результаты, отличающиеся от заданного образца на заданное число символов (по  умолчанию на 1):
то есть найдет как заданный образец, так и варианты, где на 1 символ больше, на один символ меньше или один из символов отличается. Количестве символов различия можно задать (а заодно и варианты какие именно отличия нужны - например только если символ лишний или только если n символов отличается).

с этм ключем в его виде по-умолчанию (различие в 1 символ):
при поиске "test" найдет и, собственно, "test" и "test1", "te2st", "2test", "tst", "est", "tes", "t3st", "nest".

Удобно, например, если ожидаете, что слово может оказаться написанным с ошибкой или опечаткой и в некоторых других сценариях.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #58

117. Сообщение от Аноним (123), 21-Фев-24, 09:46   +/
Нужно флаг работы с сжатыми файлами добавить - тогда впринципе ищет (напоминаю, что docx - это куча запакованных в основном xml'ек).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #73

119. Сообщение от Аноним (119), 21-Фев-24, 16:59   +/
А потом "Ваши пруфы - не пруфы"(c)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #52

120. Сообщение от Аноним (119), 21-Фев-24, 17:07   +/
>Сильно урезанные регулярки

Уже одного этого достаточно чтобы всерьез не рассматривать ripgrep в принципе.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #39

121. Сообщение от Аноним (119), 21-Фев-24, 17:18   +/
Если ты при выборе рабочих инструментов руководствуешься "модой" у меня для тебя плохие новости.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #85

123. Сообщение от Аноним (123), 23-Фев-24, 08:59   +/
> Ripgrep круче и удобней, а это просто тот же grep, но быстрый и на крестах. Не понял зачем оно нужно для моих задач.

Лично у меня не получилось искать в *.docx с помощью ripgrep, но получилось с ugrep. Допускаю, что дело во мне, потому готов посмотреть на набор ключей от аксакалов рипгрепа, которые покажут как надо.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #7


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру