{"id":43,"date":"2014-02-28T19:04:44","date_gmt":"2014-02-28T19:04:44","guid":{"rendered":"http:\/\/www.vcrini.com\/impressioni\/?p=43"},"modified":"2014-02-12T19:22:23","modified_gmt":"2014-02-12T19:22:23","slug":"grep-potenziato-grep-p-e-grep-f","status":"publish","type":"post","link":"http:\/\/www.vcrini.com\/impressioni\/?p=43","title":{"rendered":"Grep potenziato: grep -P e grep -F"},"content":{"rendered":"<p>Ultimamente mi ritrovo a fare un sacco di grep e ho trovato un paio di cosine che possono tornare utili.<\/p>\n<p>Grep supporta le espressioni regolari. Chi come me \u00e8 abituato ad usare perl spesso ha difficolt\u00e0 ad usare le espressioni regolari con grep perch\u00e8 sono leggermente diverse (per gli addetti ai lavori di default grep utilizza lo standard posix mentre perl usa il suo standard) ebbene se si vogliono usare le espressioni regolari alla maniera perl basta invocare grep con il parametro <strong>-P<\/strong>.<\/p>\n<p>quindi<\/p>\n<p>vcrini@satori:~$ echo &#8220;33 trentini&#8221; | grep -P &#8216;\\d{3}&#8217;<br \/>\nvcrini@satori:~$ echo &#8220;333 trentini&#8221; | grep -P &#8216;\\d{3}&#8217;<br \/>\n333<\/p>\n<p>se d&#8217;altro canto non dovete usare le espressioni regolari il grep viene velocizzato se lo si usa con l&#8217;opzione\u00a0<strong>-F<\/strong><\/p>\n<p>vcrini@satori:~$ echo &#8220;333 trentini&#8221; | grep -F 333<br \/>\n333 trentini<\/p>\n<p>su file di diversi gigabyte la differenza si sente quindi consiglio vivamente l&#8217;utilizzo di grep -F qualora non serva utilizzare le espressioni regolari.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ultimamente mi ritrovo a fare un sacco di grep e ho trovato un paio di cosine che possono tornare utili. Grep supporta le espressioni regolari. Chi come me \u00e8 abituato ad usare perl spesso ha difficolt\u00e0 ad usare le espressioni &hellip; <a href=\"http:\/\/www.vcrini.com\/impressioni\/?p=43\">Continua a leggere<span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false},"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/www.vcrini.com\/impressioni\/index.php?rest_route=\/wp\/v2\/posts\/43"}],"collection":[{"href":"http:\/\/www.vcrini.com\/impressioni\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.vcrini.com\/impressioni\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.vcrini.com\/impressioni\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.vcrini.com\/impressioni\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=43"}],"version-history":[{"count":1,"href":"http:\/\/www.vcrini.com\/impressioni\/index.php?rest_route=\/wp\/v2\/posts\/43\/revisions"}],"predecessor-version":[{"id":44,"href":"http:\/\/www.vcrini.com\/impressioni\/index.php?rest_route=\/wp\/v2\/posts\/43\/revisions\/44"}],"wp:attachment":[{"href":"http:\/\/www.vcrini.com\/impressioni\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=43"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.vcrini.com\/impressioni\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=43"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.vcrini.com\/impressioni\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=43"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}