Sondag 31 Desember 2017

Hoe om binêre grep te ignoreer


U kan dalk hulp op Supergebruiker kry. Stack Overflow, tensy hulle direk instrumente gebruik wat hoofsaaklik gebruik word vir programmering. Daar is drie opsies wat jy kan gebruik. Ander is vir reëlnommers en lêernaam. Unix en Linux grep opdrag help, voorbeelde en addisionele inligting. Sluit by hulle aan; dit duur net 'n minuut: Hierdie funksie is opsie eksperimentele, en kan binêre boodskappe produseer. Stack Overflow Vrae Ontwikkelaar Jobs Dokumentasie beta Tags Gebruikers. Dit kan gebruik word om verskeie soektogopsies te spesifiseer, of om 'n patroon wat met 'n streep begin, te beskerm. Deur aanhalings rondom die tou by te voeg, kan jy spasies in die grep-soektog plaas.


Die standaard C-plek gebruik Amerikaanse Engelse boodskappe. Ons gebruik advertensies om hierdie webwerf te ondersteun en die ontwikkeling van Linux-inhoud te befonds. Dit soek na die PATROON van die teks wat u spesifiseer op grep-reëllyn en uittree die resultate vir u. Let daarop dat die gidsnaam ingesluit is vir enige ooreenstemmende lêers wat opsie in die huidige gids is. Binne 'n bracket-uitdrukking bestaan ​​'n reeks uitdrukking van linux karakters geskei deur 'n koppelteken. Pos het 'n opsie gegee. Wanneer is neveralwaysor outomaties. U kan die veranderlike stel GREP _ OPTIONS na u voorkeur Linux is 'n geregistreerde handelsmerk. In die bostaande voorbeeld word al die karakters binêre gebruik letters en grep ruimte letterlik geïnterpreteer in gereelde uitdrukkings, dus slegs opsie presiese frase sal ooreenstem. As ons meer lêers het om te soek, kan ons hulle almal soek deur 'n wildkaart in ons Grep-naam te gebruik.


Behandel die lêer s as binêr. Linux, sekere navraag klasse van karakters is vooraf gedefinieer binne die hakies uitdrukkings, soos volg. Spesifiseer die kleure en binêre eienskappe wat gebruik word om verskillende dele van die uitset uit te lig. Die PATRON word deur grep geïnterpreteer as 'n gereelde uitdrukking. Nie alles wat grep dink is 'n binêre lêer nie, is eintlik 'n binêre lêer. Beheer soek en druk van binêre lêers. Maar ja, soms is 'n meer gesofistikeerde benadering soos jou eie nodig. Biblioteke is binêre lêers. As so 'n scenario bestaan, moet dit sekerlik die uitsondering wees, eerder as die norm. Dit kan eintlik baie nuttig wees.


Verbruik is verskillend as u groot lêers kontroleer. Die name van die lêers wat geplak word, word gewoonlik uit die pleisterlêer geneem. Wys lêers waarvan die binêre inhoud is. As diff3 dink dat enige van die lêers dit is. Dit is nuttiger as diff vir die vergelyking van binêre lêers. Alle opsies voorafgaan die lêers in die. Van diff-uitvoerformaat, kan hierdie opsies nie opdateer nie. Vergelyking en samevoeging van lêers: Binêr. Opsies beide veroorsaak diff om binêre lêers te behandel. Dieselfde opsie vir binêre opsies is gevestig. Die Git add-opdrag sal nie geïgnoreerde lêers byvoeg nie.


Wat maak grep oorweeg 'n lêer om binêr te wees. Ondersteun Darcs binêre lêers. Diff dink dat een van die twee lêers. Wanneer lyn eindes anders is, sal 'n binêre vergelyking 'n wanverhouding toon. Vind 'n eenvoudige manier om te vergelyk en. In afdeling Algemene opdrag opsies. Sommige opsies om binêre lêers te hanteer. As die lêers wat u met hierdie opsie vergelyk, nie eintlik teks bevat nie, sal dit. Spring na: git diff wys die lêers as 'n herinnering dat dit nie optimaal gebruik word nie.


Aangesien die SourceTree diff egter nie. Aangesien hierdie opsies beide verskille veroorsaak om binêre lêers soos te behandel. So wat maak grep oorweeg hierdie lêers na. As diff dink dat een van die twee lêers wat dit vergelyk, binêr is. Klik op die Opsies-oortjie van die. Ek dink dit nog steeds as 'n binêre lêer nadat ek nuwe bygevoeg het. Sommige van hierdie instellings kan ook vir 'n pad gespesifiseer word, sodat Git dit toepas. Bygevoeg ondersteuning vir binêre lêers. As gevolg van die beperkinge van die verskil-uitvoerformaat, kan hierdie opsies nie die tye van lêers opdateer nie. Vimrc is binêr, dink SourceTree.


Is daar 'n maklike manier om lêers te klassifiseer. Diff bepaal of 'n lêer teks of binêr is deur die eerste paar grepe in die lêer te kontroleer; Die presiese aantal bytes is stelselafhanklik, maar dit is. WinMerge gebruikers aan te bied met 'n side-by-side hex diff. Diff met die volgende opsies sou 'n binêre vergelyking met. Ontwikkelaars woon hier maatskappy gebou word beskou as diff dink. Maak seker dat jy wit spasie in die diff-opsies ignoreer. Die lêers op watter manier dit ook al is. Die Git add-opdrag sal nie geïgnoreerde lêers byvoeg nie. Opsies beide veroorsaak diff om binêre lêers soos tekslêers te behandel. In bedryfstelsels wat onderskei tussen teks en binêre lêers, verskil.


En af en toe om te sien of twee binêre lêers is. CVS opdragte verseker dat geen lyn. Git dink die lêer is 'n binêre. Git op binêre lêers. Klaarblyklik vind MacCVS dat die verkoper en vrylatingsteken heeltemal irrelevant is vir invoer; vir. As diff dink dat een van die twee dit laai. Wys die ongecodeerde inhoud van sulke lêers met git diff en. Gebruik diff vir vergelyking van 2 lêers. Ondersteuning lêers behandel dit gewoonlik die doker. As ek egter grep op hulle uitvoer, sal dit binêre lêer foo sê. Vorige: Kort, Op: Vergelyking.


Vergelyking en samevoeging van lêers met GNU diff en pleister. Dui alle lêers aan wat werklik binêr is en behoort nie te wees nie. Wat dit beteken is diff, dink dat, benewens 'n verandering in wat. In bedryfstelsels wat onderskei tussen teks en. Hulle weerspieël die benaderde ligging pleister, dink die mislukte. Binêre lêers en dwing teks vergelykings. U kan ook die funksie Git-eienskappe gebruik om binêre lêers effektief te diffundeer. As diff dink dat een van die twee lêers dit is. Maar rekenaars weet slegs binêr, nuttig wat diff dink dat lêers ongelyk is net omdat. Die laaste 30 minute van 'n logbestand greep. Ok hierdie een moet super nie moeilik wees nie. Druk F1 terwyl PowerGREP gebruik word om dit op te haal.


Gepubliseer deur Just Great Software Co. U kan die PowerGREP-handleiding in PDF-formaat aflaai. Elke stelling in aksies moet deur middel van semikolon afgebaken word. As die aksie nie gegee word nie, druk al die lyne wat ooreenstem met die gegewe patrone wat die standaardaksie is. As ons 'n ID wil ooreenstem, kan ons die lêer eers lineariseer deur gebruik te maak van die voorwaardelike operateur soos hierbo bespreek om die gespesifiseerde inligting van elke ry in een reël te kry, en maak dan logika om verdere funksionaliteit op elke reël later uit te voer. By verstek druk Awk elke lyn van die lêer af. U kan ook gebruik om die inhoud van 'n ander lêer te laai, behalwe die een wat u lees, byvoorbeeld in die onderstaande stelling, sal die lus elke lyn van die toets laai. Dit sal 'n kwalifikasiemap genereer wat 'n multisampleBamQcReport sal bevat. In Linux gebruik ons ​​'n dop wat 'n program is wat u opdragte van die sleutelbord afneem en aan die bedryfstelsel gee. Sê dat jy data het. Genereer 'n lêerlengte. Verder, as jy 'n bevel op die awk het, sal dit makliker wees om gevorderde tutoriale soos Illumina Amplicons Processing Workflow te verstaan. Moenie geïntimideer word deur die perl een voering in die bogenoemde stelling nie.


BAM-, BED-, VCF - en GFF-lêers, lêers wat u baie keer sal doen om NGS-analise te doen. Begin analise van M120_S2_L001_R1_001. Linux-stelsel soos ksh, tcsh en zsh. In die bogenoemde sintaksis is óf soekpatroon of - aksie opsioneel, maar nie albei nie. Die gedetailleerde beskrywing van hierdie opsommende statistieke word hier gegee. Leë braces sonder enige aksie doen niks nie. As jy die volgende opdrag uitvoer, sal 'n M120_S2_L001_R1_001_fastqc-lêer genereer word met 'n html bladsy fastqc_report. U kan dit in u blaaier laai om u data deur grafieke en opsommingstabelle te evalueer. Awk het twee belangrike patrone wat gespesifiseer word deur die navraag genaamd BEGIN en END.


Soos gesien kan word, is die fouttariewe redelik laag en kan ons voortgaan met die analise. As die soek patroon nie gegee word nie, voer Awk die gegewe aksies uit vir elke reël van die invoer. Uittreksel slegs die rye wat na die verwysingsdatabasis gekarteer is. Awk in die oefeninge, aangesien dit 'n taal op sigself is en word meer dikwels gebruik om NGS data te manipuleer in vergelyking met die ander instruksiesny gereedskap soos grep, sed, perl ens. Eerste kolom is genoom identifiseerder, tweede kolom is posisie op genoom, en derde kolom is dekking. Ons sal nou bedtools gebruik. Kyk na die eerste paar inskrywings in die bogenoemde lêer. Let daarop dat elkeen wat in 'n FASTQ-lêer gelees word, kan ooreenstem met verskeie streke binne 'n verwysingsgenoom, en 'n individuele lees kan dus verskeie belynings tot gevolg hê. As geen patroon ooreenstem nie, sal geen aksie uitgevoer word nie. Van hierdie skakel is PF_MISMATCH_RATE, PF_HQ_ERROR_RATE, en PF_INDEL_RATE van belang vir ons.


Nou sal ons die belyningstatistieke nagaan met die Picard-gereedskap. In die SAM-formaat word elkeen van hierdie belynings op 'n aparte lyn aangegee. Awk is 'n programmeertaal wat nie moeilike manipulasie van gestruktureerde data toelaat nie en meestal gebruik word vir patroonskandering en verwerking. Dit soek een of meer lêers om te sien of hulle lyne bevat wat ooreenstem met die gespesifiseerde patrone en dan geassosieerde aksies uitvoer. Let daarop dat die onderstaande stomp verklaring gebruik word om die oorspronklike tafel te omskep en jy kan dit sonder om te doen. Ons sal nou die bogenoemde lêer met lengtes gebruik. Vir elke lyn pas dit met die gegewe patroon in die gegewe volgorde, as die ooreenstemmende aksie ooreenstem. Nou laai ons die ID's. Aangesien die vlae in desimale voorstelling in die SAM-lêer gegee word, kan u hierdie skakel gebruik om te kontroleer watter vlag ingestel is. Byvoorbeeld, hier is die lêer wat vir die bogenoemde M120_S2_L001_R1_001 gegenereer is. Gegewe alles wat jy tot dusver geleer het, gaan ons uittreksel lees uit 'n FASTA-lêer gebaseer op ID's wat in 'n lêer verskaf word.


SW kan beter sensitiwiteit hê wanneer belynings gapings gereeld voorkom. NF is 'n ingeboude veranderlike wat die totale aantal velde in 'n rekord verteenwoordig. Dit sal nie standaard drukwerk verrig nie. Alternatiewelik kan jy ook my Shell-hulpprogramme vir QC sowel as Shell-pakkies vir EMBOSS-nutsdienste probeer. Elke belyning het ook 11 verpligte velde, gevolg deur 'n veranderlike aantal opsionele velde. Analise voltooi vir M120_S2_L001_R1_001. Om dit te gebruik, moet ons insette genereer. Difficile Ribotype 078 verwysingsdatabasis wat bestaan ​​uit 61 contigs. MEM is gewoonlik die voorkeur algoritme.


Vervolgens word ons verwysingsdatabasislêer geïndekseer. Awk lees die insetlêers een reël op 'n slag. BAM lêers wat ons wil vergelyk. Volgende wil ons GC vooroordeel bereken. Awk het aantal ingeboude veranderlikes. Baie van die stroomafwisselingsprogramme wat BAM-lêers gebruik, benodig eintlik 'n gesorteerde BAM-lêer. Voordat ons ons monsters ontleed, kan ons 'n aantal kwaliteits kontrole tjeks doen op ons rou reekse met behulp van FastQC. NUM vlag wat standaard is gedeaktiveer. Verwys 2 na Unicode-kodepunte?


In 2017 bedoel ek regtig? Dies ripgrep ondersteun enige vorm van internasionalisering? Waarskynlik, in die vervangingsmodus wil jy eintlik iets met daardie vervangde teks doen. As jy dit standaard wil hê, maak dan 'n alias of wrapper script wat dit stel. Sommige lyne neem my hele skerm op en is grenslyn nutteloos om na te kyk. CLI argument, besluit oor die standaard, en die bedrading van die drukker daarvoor. Om die lyne net weg te steek is aansienlik eenvoudiger. Sekerlik die beste om te begin met die eenvoudigste en mees voor die hand liggende oplossing en maak dit meer ingewikkeld wanneer nodig. Dit sal uiters nuttig wees. Beantwoord hierdie e-pos direk, bekyk dit op GitHub of stoot die draad.


Wat is die beste manier om dit te vermy? Soos hierdie: kat lêer. Wat om te doen met konteks lyne? Internet, en daar blyk nogal 'n paar daarvan te wees in andersins Chinese, Russiese en Japannese publikasies. NUM NUM is 'n groot maar redelike nommer. NUM parameter wat minimale kontekslengte spesifiseer. As 2 verwys na Unicode-kodepunte, dink ek jy moet graphemes ook oorweeg? NUM parameter wat minimale kontekslengte aan elke kant spesifiseer.


OK, in die belang van vorentoe, hier is 'n voorgestelde spesifikasie. Die wysiging van 'n vorige opmerking is goed. Moet ons daaroor bekommer? Elke verkeerde byte word veronderstel om 1 kolom op te neem. U ontvang dit omdat u die draad geskryf het. Kontroleer of elke lyn hierdie limiet bevredig, is nie haalbaar as gevolg van die prestasie-treffer wat dit benodig nie. RalfJung Ek dink ek hou van die idee. Op die oomblik sal die opsie glad nie die modus beïnvloed nie.


Miskien moet ripgrep net enige lêer oorweeg wat 'n lyn het wat langer as 256 grepe is. Hoe wissel dit met karakterkodering? Dit is egter moeiliker om te implementeer. Is iemand ernstig werklik 'n ander bedryfstelsel gebruik en probeer om in die terminale te werk? Wat is die doel van tr daar? Elke uitsetlyn moet bestaan ​​uit 'n aangrensende inset. In elk geval het RG die geleentheid om beter uitset hier te wys, byvoorbeeld deur slegs die wedstryd en 'n paar karakters daaroor te wys. U wil hê dat die 2 verwys na Unicode-kodepunte, en u wil hê dat elke kodepunt 1 kolom moet wees. Unicode-kodepunte of graphemes?


As die grafemwydtebepaling te stadig was, kon dalk 'n toegewyde draad probeer word. Hoe om die nuwe lyn na die boodskap te skryf. Hoeveelheid konteks voor die eerste wedstryd op die uitvoerlyn moet gelyk wees aan die na-laaste. Expliciete instelling is bedoel vir editor plugins. Die bedrag word as verpligte breedte van wedstrydkontekste geïnterpreteer. Ook soek rg rekursief by verstek. Dit impliseer egter dat 'n gedeelte van die lyn nog sigbaar is in plaas daarvan om heeltemal te laat val, wat ek meen ook nuttig is. Die kode en die funksie is te kompleks. NUM, wat standaard is gedeaktiveer.


Elke uitsetlyn bestaan ​​uit 'n aangrensende inset. Die primêre gebruiksgeval is net om vertoning makliker te maak, waar 'n lyn wat 111 kolomme in plaas van 120 toon, geen probleem is nie. Backtrack tot begin van die laaste karakter? Kolomme word getel as die aantal grepe in 'n reël. NUM vlag stel egter interessante probleme voor. Bikeshedding oor die manier waarop die boodskap vertoon word. Daar is prestasie en bruikbaarheid afslag hier. Dit moet 'n aparte kwessie wees.


Moet dit dan ook die aantal wedstryde wys? Hoe veralgemen dit vir veelvuldige vuurhoutjies op dieselfde lyn? Hoeveelheid konteks voor die eerste wedstryd op die uitsetlyn moet gelyk wees aan dit wat die laaste keer is. In uitset word ongeldige kodepunte vervang met 'n spasie. Dit lyk 'n bietjie verbasend vir ripgrep om sulke lyne weg te steek. Ons kan absoluut nie die standaard maak nie. Vir lengte, dink ek net grepe is goed. Maar wat kan verkeerd gaan? In die besonder het ripgrep eerste klas ondersteuning vir Windows, Mac en Linux.


Dit sal ook stadig wees deur te vereis dat die parsering uitgevoer word. As fiks onmoontlik is, word die lêer as binêr beskou. As laasgenoemde nie 'n parseerbare heelgetal is nie, vra die tty of konsolwydte. NUM benadering voldoen dit deur truncatasie met ellipsis te merk, maar dan kom jy op met ander probleme wat in my vorige kommentaar beskryf word. OK, jy het jou kommentaar opgedateer. Ons kan bikeshed in die PR. Wanneer geaktiveer, word lyne met meer as NUM kolomme onderdruk uit uitset. Twee bedrae geld onderskeidelik vir links en regskontekste. Engelse tou regs daarheen. Druk ten minste een wedstryd op elke uitsetlyn.


So niks sal heeltemal weggelaat word nie. Sal dit aanvaar word? Reg, ek kon 'n sluiting gebruik of die eienskap vir 'n aangepaste tipe implementeer wat ook die telling doen. As 'n enkele wedstryd self nie pas nie, laat die einde daarvan af. As dit jou werf is, maak seker dat die lêernaamgeval die URL pas. Ongelukkig, ja, dit is. GNU grep neem minute om te hardloop. Om meer in detail op Teddy te gaan, sal 'n hele blogpos op sy eie vereis! NFA in 'n DFA. Ons kan eintlik beter doen as dit.


Universal Code Grep lees altyd die hele inhoud van die lêer in die geheue. GNU grep, dit lyk asof dit ongeveer dieselfde werk doen. Beide sif en pt voer amper sowel as ripgrep uit. Die binêre naam vir ripgrep is rg. Soos ons in toekomstige maatstawwe sal sien, is hul spoed hier misleidend. DFA-toestand stem tipies ooreen met verskeie NFA-state. JP, Shift_JIS en meer. Fokus op die probleem wat 'n eindgebruiker probeer oplos. Een idee vir verbetering is om verskeie tipes DFA's te hê. Die ASCII DFA het ongeveer 250 verskillende NFA-state.


Implementeer vinnige gids-traverse met 'n minimale aantal statoproepe. Soos grep, maar ingebou in git. Dit het 'n vinnige, eksplisiete SIMD-gebaseerde lyn tel algoritme. Geen maatstaf sal ongekeur word nie! Die maatstafname stem ooreen met die opskrifte hieronder. Universele kode Grep ondersteuning afwykende lyn nommers. Herhaal na my: Jy sal nie lyn vir lyn soek nie. Kleurwerk werk ook op Windows!


ASCII slegs woordgrense. Unicode korrek, doen dit baie goed hier in vergelyking met ander gereedskap. Met betrekking tot prestasie is daar twee sleutelveranderlikes om aandag te skenk aan. Dit maak dit baie vinnig. Ook pt of ucg ondersteun omgekeerde soeke nie. Lyn telling, wanneer versoek. Jou soektog moet weet hoe om die wedstryd te omkeer. Skakel ratte, ons moet kortliks geheue kaarte bespreek. Die prestasiekoste van tellyne is hier op volle skerm.


Gebruik 'n spesiale SIMD algoritme genaamd Teddy vir vinnige veelvoudige patroon soek. Die bokoste van elke soektog sal jou ongedaan maak. Dit was genoeg geheue om al die korporasies in die geheue te pas. Die Silver Searcher en ripgrep doen. So hoekom het die pt so stadig geword? Toe ek die eerste keer begin skryf het, het ek die geheuekaartbenadering gebruik. Werk net goed in git repositories. Omskep die maatstafnaam om alle maatstawwe uit te voer. Dit het Ubuntu 16 gehardloop.


DFA om die ASCII-variant te pas. Alle maatstawwe wat in hierdie afdeling uitgevoer word, is in die wortel van die repository uitgevoer. Ons laat sak en sift uit hierdie maatstaf en die volgende een vir opportunisme. Unicode bewus eienskappe soos hierdie. JIT, wat insanely vinnig is. Engelse patroon, aangesien dit multiline-soektog doen. Ten slotte verdien Git Grep 'n bietjie spesiale vermelding. Wat van git grep? Interessant genoeg, noem ek ook nie eintlik elke reël nie. Dit het ongeveer 15 minute geneem op 'n hoëspoedverbinding.


In die maatstaf suite neem ons 'n 1GB-monster. Ons beheer vir lyntelling. Vir een, kry git grep meer as 4 keer stadiger. Let daarop dat alle gereedskap gevra word om lyne te tel. Daar is nog een ding wat die moeite werd is om hier kennis te neem. Wat maak spesifiek rg vinniger as GNU grep in hierdie geval? DFA met 'n oorgangstabel langsaan in die geheue. Trouens, dit is die oorspronklike Engelse onderskrifkorpus in sy geheel. Die eerste benadering is egter 'n bietjie misleidend. Unicode is rg, GNU grep en git grep.


Werk op teks soek in roes. GNU grep ook. Geen instrument stel daardie funksionaliteit bloot nie. Analise: RG gaan voort om hier goed te doen, maar slae sift deur slegs 'n hare. As jy saamgeperste lêers moet soek. Eerstens is die regex-enjin. Tellyne kan redelik duur wees. Analise: Nog geen ander soekenjin word uitgevoer nie, sowel as rg. Russies en dus oorwegend Kyrillies.


Ons het nog steeds 'n paar truuks in ons mou. Eerstens moet ons oorweeg hoe hierdie soekgereedskap fundamenteel werk. Analise: Ons het 'n ton grond om op hierdie een te dek. Unicode-ondersteuning in elke instrument. Teddy werk baie vinnig deur kandidate vir wedstryde te vind. Moore implementering sal memchr altyd op die laaste byte gebruik. Wees verseker dat Unicode-ondersteuning in hierdie proses gebak word. Veral afwesig van hierdie lys is ack. Pas die eindgebruikerprobleme ook meer korrel toe. Hoekom moet jy ripgrep oor enige ander soektog gebruik?


Hoekom moet die soektog hierdie optimalisering uitvoer? In beide gevalle rapporteer GNU grep en rg dieselfde resultate. Om al hierdie werk te doen, neem tyd. Moore: 'n skiptafel met 'n omgekeerde outomatiese masjien. Die Silver Searcher versuim ook. Roest installasie om dit op te stel. Analise: Hierdie een is redelik eenvoudig. Russiese steekproef is vertaal uit Engels met behulp van Google Translate.


As ons almal aan Teddy geslaag het, sou dit oorweldig word. Probeer om die stel nog meer af te sny. Teddy speel goed hier? Daar sal later nog meer bespreking wees. Tog bly RG steeds besig om sy spoed te behou! Dit word 'n bietjie erger as dit eintlik. Unicode geval ongevoeligheid korrek. Daar is maniere waarop jy kan werk. Dit laai verskeie GB data af, en bou die Linux-kern. Wat maak rg so vinnig hier?


Beskrywing: Hierdie maatstawwe is 'n afwisseling van vier letterkunde. Noudat ons hierdie alternasie van letterkunde het, wat doen ons met hulle? Gebruik 'n algehele baie vinnige regex-enjin. Dit voer dan hierdie letterkunde na die Teddy SIMD-meervoudige patroon algoritme. Dit is duidelik dat jy nie geheue kaarte gebruik nie. Grawe 'n bietjie dieper, die werklike storie hier kan subtieler wees. Ons sal 'n sterker skeiding in latere maatstawwe sien. In die ergste geval, grep is orde van grootte stadiger. Eerlik, al die prestasie eenkant, jou deurdagte keuse van opsies vir die opsies is die groot verkoopspunt vir my. Ongelukkig het ek 'n verleentheid fout. Net uit nuuskierigheid, watter soort geval maak grep en voornemende vervangers skree?


Dit gesê, dit is 'n algehele wonderlike projek. Nie almal van ons is programmeerders deur handel wat git gebruik nie. Kyk na die onderskriftekenmerke in die blogpos. In die beste geval is grep 'n bietjie stadiger. SVE's op daardie masjien het byna ledig gebly. Dankie vir jou aanmoediging. Om duidelik te wees, stem ek saam dat die verstek 'n afrekening is.

Geen opmerkings nie:

Plaas 'n opmerking

Let wel: Slegs 'n lid van hierdie blog mag 'n opmerking plaas.