Ripgrep ka teliya ka tɛmɛ grep, ag, git grep, ucg, pt, sift kan (2016) | Mewayz Blog Skip to main content
Hacker News

Ripgrep ka teliya ka tɛmɛ grep, ag, git grep, ucg, pt, sift kan (2016)

Kow fɔcogo

15 min read Via burntsushi.net

Mewayz Team

Editorial Team

Hacker News

Teliya mago : ni ɲinini kɛra buteli ye

porozɛw dilanni ni sistɛmuw ɲɛnabɔli diɲɛ kɔnɔ , se ka ɲinini teliya la kode ni sɛbɛnni filenw kuluw kɔnɔ , o tɛ fɛn ye ; o ye wajibi ye. San caman kɔnɔ, baarakɛminɛn minnu bɛ i n’a fɔ `grep`, olu de ye baarakɛso dannamɔgɔ ye. O kɔ fɛ, "sɛgɛsɛgɛli superheroes" bɔnsɔn kura Nàna i n'a fɔ `ag` (The Silver Searcher) ani dɔwɛrɛw, minnu ye layidu ta teliya blazingw ye n'u ye 'sèn Bɔ 'version control directories (daɲɛw ɲɛnabɔcogo ɲɛnabɔli) la ani ka 'sèn Bɔ 'ɲɛnabɔli hakilitigiw la. O bɛɛ n’a ta, san 2016, ɲɔgɔndan kura dɔ bɔra kɛnɛ kan, wa a ye se sɔrɔ kosɛbɛ baarakɛcogo jateminɛw na. O baarakɛminɛn ye `ripgrep` (rg) ye, wa a maana ye masterclass ye focused optimization la min bɛ philosophie jira min bɛ jagokɛyɔrɔ ɲumanw kɔfɛ i n’a fɔ Mewayz, yɔrɔ min na baarakɛcogo ni yiriwalikɛlaw ka dɔnniya de ka bon kosɛbɛ.

Mun na Ripgrep ye ɲɔgɔndan in to kɔfɛ

Ripgrep , min dabɔra Andrew Gallant fɛ , o ma dɔ fara a ka baarakɛminɛn kɔrɔw kan dɔrɔn ; a ye miiri kokura o kɛcogo la. A teliya koloma bɛ bɔ fɛɛrɛ barikamaw faralen ɲɔgɔn kan. A fɔlɔ, a bɛ baara kɛ ni Rust ka regex motɛri ye, min teliya ka bon kosɛbɛ, wa a lakananen don. Min nafa ka bon kosɛbɛ, `ripgrep` bɛ daminɛ ka ɲɛsin ɲɛbila ɲininiw ma minnu bɛ segin-ka-bɔ k’a sɔrɔ a bɛ i ka `.gitignore` sariyaw bonya a yɛrɛma, k’a lajɛ ko i tɛ cycles tiɲɛ abada ka tɛmɛn build artifacts walima dependencies fɛ. A nafa min ka bon kosɛbɛ fɛɛrɛko siratigɛ la, o ye a ka se ka ɲinini kɛcogo ɲuman sugandi ni hakili ye. Ka ɲɛsin sɛrɛkili lakikaw ma, a bɛ baara Kɛ ni SIMD algorisimu hyper-optimisé ye min bɛ Weele ko Teddy. Ni regex misali gɛlɛnw don, a bɛ wuli ka taa motɛri bɛnnen na cogo la min tɛ fɛn tiɲɛ. Nin sira hakilitigi in kɔrɔ ye ko a bɛ se ka kɛ ko a bɛ baara kɛ ni fɛɛrɛ teliyalen ye tuma bɛɛ i ka ɲininkali kɛrɛnkɛrɛnnen na.

ye "ripgrep teliya ka tɛmɛ {grep, ag, git grep, ucg, pt, sift} kan bawo a jɔlen bɛ Rust ka regex motɛri sanfɛ min bɛ baara kɛ ni finite automata, SIMD ani aggressive literal optimisations ye walasa ka ɲinini teliya kosɛbɛ. – Andrew Gallant, ripgrep dabɔbaa.
ye

Jɛkulu min ye hakilinaw Changé

san 2016 jateden tɔgɔba min bɛ kɛ barokun tɔgɔ jusigilan ye , o tun ye fɛn bɛɛ lajɛlen ye . A ye ɲininikɛminɛnw kɔrɔbɔ cogo caman na minnu bɛ se ka kɛ tiɲɛ na: ka kode ɲɛbilasɛbɛnba dɔ ɲini, ka daɲɛ lakika ɲini, ka baara kɛ ni kumasen kɔrɔlenw ye minnu ka gɛlɛn, ani ka filɛri kɛ dosiye kelen belebelebaw kɔnɔ. Ripgrep tùn bɛ 'kùn na tuma bɛɛ jatebla la. Hali n’a y’a sɔrɔ baarakɛminɛn kɛrɛnkɛrɛnnenw bɛ se ka se sɔrɔ dakun kelen na, min ka surun, `ripgrep` ye se sɔrɔ a bɛɛ kan. O kɛcogo min bɛ kɛ tuma bɛɛ, min bɛ se ka da a kan, o de y’a to a nɔrɔlen don. Dabɔbaa ni sysadminw y’a Sɔrɔ ko `ripgrep` tali ye hakili-la-ko-ɲɛnabɔli Bɔ baarakɛminɛn suguya wɛrɛw sugandili la baara suguya wɛrɛw kama. Bi yiriwali baarakɛcogo la, teliya ni sigida caman cili nafa ka bon yɔrɔ min na, ka baarakɛminɛn kelen sɔrɔ min bɛ se ka da a kan, min teliyalen don ɲinini magow bɛɛ kama, o ye baarakɛcogo ɲumanba ye. Nin sariyakolo in min ye jɛkafɔ ye walasa ka baarakɛcogo ɲuman sɔrɔ, o ye an bɛ min faamuya kosɛbɛ Mewayz la, yɔrɔ min na, jago baarakɛcogo danfaralenw donli OS kelen kɔnɔ, o bɛ ekipuw kisi baarakɛminɛnw caman cili ma tuma bɛɛ.

Ka tɛmɛn teliya raw dɔrɔn kan : Baarakɛla ka ko kɛlenw dakun

Baara kɛcogo tɛ milisekɔndi dɔrɔn ye ; a bɛ tali kɛ ko kɛlen bɛɛ lajɛlen na. Ripgrep cilen ni default hakilitigiw ye minnu bɛ bɛn bi developpeur baarakɛcogo ma ka bɔ kɛsu kɔnɔ. A bɔli polisilen, ni kulɛri-kodɔn saniyalen ni layini nimɔrɔw ye, o y’a to jaabiw tun bɛ se ka kalan o yɔrɔnin bɛɛ. Fɛnba minnu y’a to a ka teliya ka don a la, olu dɔw ye :

  • Ka `.gitignore` bonya ka kɛɲɛ ni ɲininiw ye minnu bɛ bɛn, minnu bɛ teliya.
  • Filen dogolenw ni dosiye fila ɲinini dɔrɔn ni ɲininkali kɛra k'a jɛya.
  • Unicode dɛmɛ min "bɛ baara kɛ dɔrɔn," ka misali dɛsɛw bali minnu bɛ mɔgɔ dusu tiɲɛ.
  • Se ka ɲinini kɛ dosiye suguya kɛrɛnkɛrɛnnenw kɔnɔ ni kumasen nɔgɔman ye (misali la, `rg -tjs 'function'`).

O sinsin in kɛra default experience kan min ka bon kosɛbɛ, o kɔrɔ ye ko developpeurs ye waati dɔɔnin kɛ ka command-line darapo dibilenw dilan ani ka waati caman kɛ ka kɛ productive ye. A ye ɲɔgɔnkanu bɔ yen, i n’a fɔ Mewayz b’a fɛ cogo min na ka baarakɛɲɔgɔnya bɔ yen, a kɛtɔ ka jagokɛminɛnw OS modulari di, baarakɛminɛnw bɛ ɲɔgɔn sɔrɔ yɔrɔ min na cogo la min tɛ fɛn tiɲɛ, o b’a to ekipuw bɛ se k’u sinsin u ka baara kolomaw kan sanni u ka sistɛmuw labɛn minnu tɛ ɲɔgɔn ta.

Ciya banbali : Teliya i n' a fɔ fɛn dɔ

san 2016 dantigɛli tun tɛ waati kɔnɔko dɔrɔn ye ; o ye taamasyɛn ye ko fɛn dɔ jiginna jigiya la. Ripgrep y’a Jira ko jusigilanw dilanni baarakɛminɛnw bɛ Se ka Labɛn kokura bi waati kama ni nɔba ye. A ka ɲɛtaa y’a Jira ko baarakɛminɛnw na, teliya raw ye fɛn ye min ka dun kosɛbɛ—a bɛ dɔ Bɔ latɛmɛni na yiriwali kɔsegin-yɔrɔ la, o b’a To ɲinini, debugging ani refactoring tɛ sɛgɛn kosɛbɛ. Jagokɛlaw minnu bɛ porogaramuw dilan, baarakɛminɛn ɲumanw sugandili bɛ nɔ bila teliya ni dusukunnataw la. O cogo kelen na, jagokɛcogo ɲuman sugandili i n’a fɔ Mewayz, min dabɔra teliya ni jɛɲɔgɔnya kama, o bɛ se ka jɛkulu ka teliya caman sɛmɛntiya. `ripgrep` ye kode sɔrɔli taabolo ɲɛ cogo min na, Mewayz bɛ jago kunnafoniw taabolo ɲɛ, k’a lajɛ ko ekipuw tɛ to ka makɔnɔni kɛ u ka baarakɛminɛnw kan.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Ɲininkali minnu bɛ kɛ tuma caman na

Teliya mago : ni ɲinini kɛra buteli ye

porozɛw dilanni ni sistɛmuw ɲɛnabɔli diɲɛ kɔnɔ , se ka ɲinini teliya la kode ni sɛbɛnni filenw kuluw kɔnɔ , o tɛ fɛn ye ; o ye wajibi ye. San caman kɔnɔ, baarakɛminɛn minnu bɛ i n’a fɔ `grep`, olu de ye baarakɛso dannamɔgɔ ye. O kɔ fɛ, "sɛgɛsɛgɛli superheroes" bɔnsɔn kura Nàna i n'a fɔ `ag` (The Silver Searcher) ani dɔwɛrɛw, minnu ye layidu ta teliya blazingw ye n'u ye 'sèn Bɔ 'version control directories (daɲɛw ɲɛnabɔcogo ɲɛnabɔli) la ani ka 'sèn Bɔ 'ɲɛnabɔli hakilitigiw la. O bɛɛ n’a ta, san 2016, ɲɔgɔndan kura dɔ bɔra kɛnɛ kan, wa a ye se sɔrɔ kosɛbɛ baarakɛcogo jateminɛw na. O baarakɛminɛn ye `ripgrep` (rg) ye, wa a maana ye masterclass ye focused optimization la min bɛ philosophie jira min bɛ jagokɛyɔrɔ ɲumanw kɔfɛ i n’a fɔ Mewayz, yɔrɔ min na baarakɛcogo ni yiriwalikɛlaw ka dɔnniya de ka bon kosɛbɛ.

Mun na Ripgrep ye ɲɔgɔndan in to kɔfɛ

Ripgrep , min dabɔra Andrew Gallant fɛ , o ma dɔ fara a ka baarakɛminɛn kɔrɔw kan dɔrɔn ; a ye miiri kokura o kɛcogo la. A teliya koloma bɛ bɔ fɛɛrɛ barikamaw faralen ɲɔgɔn kan. A fɔlɔ, a bɛ baara kɛ ni Rust ka regex motɛri ye, min teliya ka bon kosɛbɛ, wa a lakananen don. Min nafa ka bon kosɛbɛ, `ripgrep` bɛ daminɛ ka ɲɛsin ɲɛbila ɲininiw ma minnu bɛ segin-ka-bɔ k’a sɔrɔ a bɛ i ka `.gitignore` sariyaw bonya a yɛrɛma, k’a lajɛ ko i tɛ cycles tiɲɛ abada ka tɛmɛn build artifacts walima dependencies fɛ. A nafa min ka bon kosɛbɛ fɛɛrɛko siratigɛ la, o ye a ka se ka ɲinini kɛcogo ɲuman sugandi ni hakili ye. Ka ɲɛsin sɛrɛkili lakikaw ma, a bɛ baara Kɛ ni SIMD algorisimu hyper-optimisé ye min bɛ Weele ko Teddy. Ni regex misali gɛlɛnw don, a bɛ wuli ka taa motɛri bɛnnen na cogo la min tɛ fɛn tiɲɛ. Nin sira hakilitigi in kɔrɔ ye ko a bɛ se ka kɛ ko a bɛ baara kɛ ni fɛɛrɛ teliyalen ye tuma bɛɛ i ka ɲininkali kɛrɛnkɛrɛnnen na.

Jɛkulu min ye hakilinaw Changé

san 2016 jateden tɔgɔba min bɛ kɛ barokun tɔgɔ jusigilan ye , o tun ye fɛn bɛɛ lajɛlen ye . A ye ɲininikɛminɛnw kɔrɔbɔ cogo caman na minnu bɛ se ka kɛ tiɲɛ na: ka kode ɲɛbilasɛbɛnba dɔ ɲini, ka daɲɛ lakika ɲini, ka baara kɛ ni kumasen kɔrɔlenw ye minnu ka gɛlɛn, ani ka filɛri kɛ dosiye kelen belebelebaw kɔnɔ. Ripgrep tùn bɛ 'kùn na tuma bɛɛ jatebla la. Hali n’a y’a sɔrɔ baarakɛminɛn kɛrɛnkɛrɛnnenw bɛ se ka se sɔrɔ dakun kelen na, min ka surun, `ripgrep` ye se sɔrɔ a bɛɛ kan. O kɛcogo min bɛ kɛ tuma bɛɛ, min bɛ se ka da a kan, o de y’a to a nɔrɔlen don. Dabɔbaa ni sysadminw y’a Sɔrɔ ko `ripgrep` tali ye hakili-la-ko-ɲɛnabɔli Bɔ baarakɛminɛn suguya wɛrɛw sugandili la baara suguya wɛrɛw kama. Bi yiriwali baarakɛcogo la, teliya ni sigida caman cili nafa ka bon yɔrɔ min na, ka baarakɛminɛn kelen sɔrɔ min bɛ se ka da a kan, min teliyalen don ɲinini magow bɛɛ kama, o ye baarakɛcogo ɲumanba ye. Nin sariyakolo in min ye jɛkafɔ ye walasa ka baarakɛcogo ɲuman sɔrɔ, o ye an bɛ min faamuya kosɛbɛ Mewayz la, yɔrɔ min na, jago baarakɛcogo danfaralenw donli OS kelen kɔnɔ, o bɛ ekipuw kisi baarakɛminɛnw caman cili ma tuma bɛɛ.

Ka tɛmɛn teliya raw dɔrɔn kan : Baarakɛla ka ko kɛlenw dakun

Baara kɛcogo tɛ milisekɔndi dɔrɔn ye ; a bɛ tali kɛ ko kɛlen bɛɛ lajɛlen na. Ripgrep cilen ni default hakilitigiw ye minnu bɛ bɛn bi developpeur baarakɛcogo ma ka bɔ kɛsu kɔnɔ. A bɔli polisilen, ni kulɛri-kodɔn saniyalen ni layini nimɔrɔw ye, o y’a to jaabiw tun bɛ se ka kalan o yɔrɔnin bɛɛ. Fɛnba minnu y’a to a ka teliya ka don a la, olu dɔw ye :

Ciya banbali : Teliya i n' a fɔ fɛn dɔ

san 2016 dantigɛli tun tɛ waati kɔnɔko dɔrɔn ye ; o ye taamasyɛn ye ko fɛn dɔ jiginna jigiya la. Ripgrep y’a Jira ko jusigilanw dilanni baarakɛminɛnw bɛ Se ka Labɛn kokura bi waati kama ni nɔba ye. A ka ɲɛtaa y’a Jira ko baarakɛminɛnw na, teliya raw ye fɛn ye min ka dun kosɛbɛ—a bɛ dɔ Bɔ latɛmɛni na yiriwali kɔsegin-yɔrɔ la, o b’a To ɲinini, debugging ani refactoring tɛ sɛgɛn kosɛbɛ. Jagokɛlaw minnu bɛ porogaramuw dilan, baarakɛminɛn ɲumanw sugandili bɛ nɔ bila teliya ni dusukunnataw la. O cogo kelen na, jagokɛcogo ɲuman sugandili i n’a fɔ Mewayz, min dabɔra teliya ni jɛɲɔgɔnya kama, o bɛ se ka jɛkulu ka teliya caman sɛmɛntiya. `ripgrep` ye kode sɔrɔli taabolo ɲɛ cogo min na, Mewayz bɛ jago kunnafoniw taabolo ɲɛ, k’a lajɛ ko ekipuw tɛ to ka makɔnɔni kɛ u ka baarakɛminɛnw kan.

aw ka jagokɛminɛnw bɛɛ bɛ yɔrɔ kelen na

Aw ka porogaramu caman jɔli dabila . Mewayz bɛ baarakɛminɛn 208 fara ɲɔgɔn kan $49/kalo dɔrɔn na — k’a ta fɛnmarayɔrɔ la ka taa se HR ma, ka taa bila jatebɔ la ka taa a bila jateminɛ na. Karti si tɛ wajibiya walasa ka daminɛ.

A ɲini ka Mewayz Free →