[{"data":1,"prerenderedAt":385},["ShallowReactive",2],{"project-20196982":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":46,"post_text":47,"what":48,"said":75,"maker_in_thread":165,"shape":174,"grid":178,"attempts":347,"same_week":348,"maker_shows":38,"maker_hidden":377,"reader_version":378,"card":379},"20196982","Rga","ripgrep, but also search in PDFs, Office documents, zip, tar.gz","title","Show HN: Rga: ripgrep, but also search in PDFs, Office documents, zip, tar.gz","https:\u002F\u002Fphiresky.github.io\u002Fblog\u002F2019\u002Frga--ripgrep-for-zip-targz-docx-odt-epub-jpg\u002F","phiresky.github.io","phiresky",1560708883,2019,284,65,114,2195,6,"legend","dev_tools","code search","cli",[24,25,26,27,28],"ripgrep","full text search","pdf search","archive search","grep","curious",0.034,{"positive":32,"neutral":33,"mixed":34,"critical":32},5,14,0,24,{"idea":37,"privacy":39,"design":41,"execution":43,"performance":44,"docs":45},{"positive":38,"critical":34},3,{"positive":34,"critical":40},2,{"positive":42,"critical":42},1,{"positive":34,"critical":40},{"positive":34,"critical":34},{"positive":34,"critical":34},[38,38,34,38,32,34,34,34,34,34,34,34,34,38,32,32,42,34,42,38,34,38,34,34,34,42,34,34,38,38,34,38,38,38,34,34,42,38,38,32],null,{"problem":49,"audience":47,"pricing":47,"motivation":47,"time_to_build":47,"stack":59,"openness":73,"stage":74,"team_size":74},{"value":50,"source":51,"evidence":52},"Searching text inside PDFs, Office documents and compressed archives with ripgrep","maker",[53,56],{"id":54,"by":11,"text":55},"20197978","Pretty hard to make rg search in files within archives though without actually extracting them (which I've seen more than one request for in the ripgrep issues [1]), which is why…",{"id":57,"by":11,"text":58},"20197993","It's true that you could mostly replace the \"rga\" binary with `rg --pre=rga-preproc` and just publish the rga-preproc binary, which does most of the work.. But rga itself adds…",[60,66],{"value":61,"source":51,"evidence":62},"Rust",[63],{"id":64,"by":11,"text":65},"20202928","kind of.. though this tool does a lot more (caching, recursing into archives and extracting all text) and is a lot faster (for the file types it can parse, lesspipe knows more),…",{"value":24,"source":51,"evidence":67},[68,72],{"id":69,"by":70,"text":71},"20197885","ronjouch","Or, if your usage is sufficiently infrequent to not need caching and if you'd rather not depend on one more tool, simply configure ripgrep to use a `--pre` flag (which is what…",{"id":57,"by":11,"text":58},"open_source","unknown",{"praise":76,"objections":85,"requests":112,"questions":129,"alternatives":137},[77],{"value":78,"source":79,"evidence":80},"Fast and useful for searching inside archives and documents","commenter",[81,84],{"id":82,"by":70,"text":83},"20198004","That's a pretty cool feature indeed, I had missed it (and now I understand the need for a separate binary with archive handling & streaming logic). Thanks for correcting.",{"id":64,"by":11,"text":65},[86,93,101],{"value":87,"source":79,"evidence":88},"Windows support missing",[89],{"id":90,"by":91,"text":92},"20198006","mehrdadn","No Windows support? :\\ Also, suffers from the exact same problem I see pretty much every text search tool suffer: doesn't support other UTF encodings like UTF-16, meaning you'll…",{"value":94,"source":79,"evidence":95},"UTF-16 without BOM not handled",[96,97],{"id":90,"by":91,"text":92},{"id":98,"by":99,"text":100},"20198263","burntsushi","> Also, suffers from the exact same problem I see pretty much every text search tool suffer: doesn't support other UTF encodings like UTF-16, meaning you'll miss files. Did you…",{"value":102,"source":79,"evidence":103},"Security risk from parsing untrusted PDFs",[104,108],{"id":105,"by":106,"text":107},"20198466","woodruffw","You're welcome, but also check out that second link: I'd be careful about running lesspipe on untrusted inputs. It looks like this tool might have the same problems, given that…",{"id":109,"by":110,"text":111},"20200596","hamilyon2","I see threads recommending software doing full-text indexing of pdfs descending into archives. I remember that a few years ago there were some security vulnerabilities in exactly…",[113,123],{"value":114,"source":79,"evidence":115},"Docker image",[116,120],{"id":117,"by":118,"text":119},"20198051","mmastrac","This is something I've needed for a long time! Has anyone docker-ized it yet? Edit: unsure why I'm getting downvoted here - docker is an extremely convenient way to run things on…",{"id":121,"by":118,"text":122},"20198154","Why wouldn't you want to dockerize it? It has a huge number of potential dependencies (pandoc, pdftotext, etc). Getting all those working on my Unraid storage server for…",{"value":124,"source":79,"evidence":125},"Windows packaging",[126],{"id":127,"by":11,"text":128},"20198097","Windows support should be fairly trivial, the main problem is packaging it up and that travis doesn't like Windows. > doesn't support other UTF encodings like UTF-16 UTF-16…",[130],{"value":131,"source":79,"evidence":132},"How it handles zip bombs",[133],{"id":134,"by":135,"text":136},"20200239","orthoxerox","How well does it handle zip bombs and 42.zip?",[138,144,151,158],{"value":139,"source":79,"evidence":140},"lesspipe",[141],{"id":142,"by":106,"text":143},"20198334","Ah, we've come full circle and reimplemented lesspipe[1][2]. [1]: https:\u002F\u002Fmanpages.debian.org\u002Fjessie\u002Fless\u002Flesspipe.1.en.html [2]:…",{"value":145,"source":79,"evidence":146},"Recoll",[147],{"id":148,"by":149,"text":150},"20197707","jamessb","There's Recoll: https:\u002F\u002Fwww.lesbonscomptes.com\u002Frecoll\u002F I haven't used it, so I'm not sure how fast it is, but I've seen it recommended several times.",{"value":152,"source":79,"evidence":153},"Baloo",[154],{"id":155,"by":156,"text":157},"20197866","Arkanosis","I believe Baloo (a KDE project) does exactly that (indexing local content). There are different tools you can then use to search for indexed data: I assume KRunner will be the…",{"value":159,"source":79,"evidence":160},"GNOME Tracker",[161],{"id":162,"by":163,"text":164},"20197692","singlow","https:\u002F\u002Fwiki.gnome.org\u002FProjects\u002FTracker Most gnome based distros have that available, if not enabled by default. Not sure what kind of support it has for different file types.",{"comments":166,"answered":167,"key":168},10,4,[169,170,171],{"id":64,"text":65},{"id":54,"text":55},{"id":172,"text":173},"20201801","Thank you! Yeah, I like to think I have some interesting projects. Maybe I should make an overview page because you can only pin 6 repositories on Github :)",{"commenters":175,"max_depth":18,"maker_replies":166,"first_comment_mins":176,"lifespan_hours":177},37,117,22,[179,181,184,188,191,195,197,201,203,207,208,209,213,216,219,220,224,227,229,233,236,237,238,239,242,246,248,250,252,254,256,258,261,263,265,267,269,272,274,276,279,280,284,287,290,291,295,297,300,304,307,310,314,316,319,321,324,326,328,332,335,338,339,343],[142,34,38,180,106,34],"project\u002Fneutral\u002Fidea",[182,34,38,180,183,34],"20198342","escapecharacter",[185,34,34,186,187,34],"20200009","other\u002Fneutral\u002Fnone","gitgud",[189,34,34,186,190,34],"20201364","bhaak",[192,34,32,193,194,34],"20198431","project\u002Fpositive\u002Fidea","est31",[105,34,42,196,106,34],"project\u002Fcritical\u002Fprivacy",[198,34,32,199,200,34],"20200858","project\u002Fpositive\u002Fdesign","masklinn",[64,34,34,202,11,42],"project\u002Fpositive\u002Fperformance",[204,42,34,205,206,34],"20197626","other\u002Fneutral\u002Fidea","noodlesUK",[162,42,34,186,163,34],[148,42,34,186,149,34],[210,42,34,211,212,34],"20198564","other\u002Fpositive\u002Fnone","SanchoPanda",[214,42,34,211,215,34],"20199284","michaericalribo",[217,42,34,186,218,34],"20197737","geezard",[155,42,34,186,156,34],[221,42,34,222,223,34],"20199001","other\u002Fcritical\u002Fperformance","nisa",[225,42,34,222,226,34],"20199241","winter_blue",[228,42,34,186,223,34],"20200688",[230,42,34,231,232,34],"20202267","other\u002Fcritical\u002Fnone","chupasaurus",[234,42,34,186,235,34],"20198102","jknz",[69,40,38,180,70,34],[54,40,34,193,11,42],[82,40,32,193,70,34],[240,40,38,180,241,34],"20198607","oever",[243,38,32,244,245,34],"20201421","maker\u002Fpositive\u002Fnone","nmstoker",[172,38,34,247,11,42],"maker\u002Fneutral\u002Fnone",[90,167,42,249,91,34],"project\u002Fcritical\u002Fexecution",[127,167,34,251,11,42],"project\u002Fneutral\u002Fexecution",[253,167,42,249,91,34],"20198149",[255,167,34,251,11,42],"20198180",[257,167,38,251,91,34],"20198208",[259,167,38,251,260,34],"20198365","ShorsHammer",[262,167,34,251,11,42],"20198427",[264,167,38,251,260,34],"20198539",[98,167,34,266,99,34],"commenter\u002Fcritical\u002Fexecution",[268,167,34,266,91,34],"20198333",[270,167,34,271,99,34],"20198385","commenter\u002Fneutral\u002Fexecution",[273,167,34,271,91,34],"20198411",[275,167,34,271,99,34],"20198470",[277,167,34,186,278,34],"20198322","fortran77",[109,32,42,196,110,34],[281,32,34,282,283,34],"20200658","commenter\u002Fneutral\u002Fprivacy","nullbyte",[285,32,34,282,286,34],"20200740","tomsmeding",[288,32,34,289,11,42],"20202882","project\u002Fneutral\u002Fprivacy",[117,18,38,180,118,34],[292,18,34,293,294,34],"20198129","commenter\u002Fneutral\u002Fnone","mises",[121,18,38,296,118,34],"project\u002Fneutral\u002Fdesign",[298,18,34,299,294,34],"20199191","other\u002Fneutral\u002Fdesign",[301,302,34,186,303,34],"20198729",7,"triangleman",[134,305,38,306,135,34],8,"project\u002Fneutral\u002Fperformance",[308,305,34,309,11,42],"20200570","maker\u002Fneutral\u002Fperformance",[311,312,38,296,313,34],"20198545",9,"Adam89",[315,312,38,296,200,34],"20200864",[317,312,34,318,99,34],"20201248","other\u002Fneutral\u002Fdocs",[320,312,34,318,200,34],"20201365",[322,312,34,323,313,34],"20202212","other\u002Fpositive\u002Fdocs",[325,312,34,318,99,34],"20202431",[327,312,34,296,11,42],"20204198",[329,166,42,330,331,34],"20197906","project\u002Fcritical\u002Fdesign","kekebo",[333,166,38,296,334,34],"20197918","FreeFull",[336,166,38,337,331,34],"20197932","project\u002Fneutral\u002Fdocs",[57,166,34,296,11,42],[340,341,34,186,342,34],"20198505",11,"pcunite",[344,345,32,193,346,34],"20198053",12,"batbomb",[],[349,354,358,362,367,372],{"id":350,"name":351,"points":352,"category":353},"20185182","Enviro+ for Raspberry Pi",397,"hardware",{"id":355,"name":356,"points":357,"category":20},"20182141","Slim",389,{"id":359,"name":360,"points":361,"category":20},"20191603","Openring",351,{"id":363,"name":364,"points":365,"category":366},"20173974","Refined Hacker News",259,"consumer_social",{"id":368,"name":369,"points":370,"category":371},"20220112","Futureland",232,"productivity",{"id":373,"name":374,"points":375,"category":376},"20212622","GNU grep and ripgrep book",182,"learning_science",false,"v2",{"id":380,"name":5,"line":6,"ai":377,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":381,"top":18,"kw":382,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":383,"url":9,"mix":384,"praise":78,"objection":87,"sub":21},20196982,0.03,[24,25,26,27,28],"3303500000000355101303000100330333001335",[32,33,34,32],1794036578415]