{"id":842,"date":"2021-01-15T01:52:07","date_gmt":"2021-01-15T09:52:07","guid":{"rendered":"http:\/\/gantovnik.com\/bio-tips\/?p=842"},"modified":"2021-01-15T01:54:10","modified_gmt":"2021-01-15T09:54:10","slug":"148-print-lines-containing-words-bar-gap-quad-and-count-number-of-lines-in-each-group-using-awk","status":"publish","type":"post","link":"https:\/\/gantovnik.com\/bio-tips\/2021\/01\/148-print-lines-containing-words-bar-gap-quad-and-count-number-of-lines-in-each-group-using-awk\/","title":{"rendered":"#148 Print lines containing words &#8220;BAR&#8221;, &#8220;GAP&#8221;, &#8220;QUAD&#8221; and count number of lines in each group using awk"},"content":{"rendered":"<p>#148 Print lines containing words &#8220;BAR&#8221;, &#8220;GAP&#8221;, &#8220;QUAD&#8221; and count number of lines in each group using awk<\/p>\n<p>Save the following awk script in the file &#8220;ex148.awk&#8221;<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n#!\/bin\/awk -f\r\n\/GAP\/{print;n_gap++}\r\n\/BAR\/{print;n_bar++}\r\n\/QUAD\/{print;n_quad++}\r\nEND { printf &quot;n_gap=%i\\n&quot;,n_gap; printf &quot;n_bar=%i\\n&quot;,n_bar;printf &quot;n_quad=%i\\n&quot;,n_quad }\r\n<\/pre>\n<p>Run file &#8220;ex148run.txt&#8221;<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nawk -f ex148.awk test1.txt\r\n<\/pre>\n<p>using <\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n.\/ex148run.txt\r\n<\/pre>\n<p>The result is<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nBAR 5000005      1 0.00000000 0.00000000 0.00000000 2009.00000000 0.00000000 0.00000000 0.00000000 100.00000000\r\nGAP 5000005      1 0.00000000 0.00000000 0.00000000\r\nQUAD 5000005      1 0.00000000 0.00000000 0.00000000 2009.00000000 0.00000000 0.00000000 0.00000000 251.00000000\r\nn_gap=11\r\nn_bar=14\r\nn_quad=23\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>#148 Print lines containing words &#8220;BAR&#8221;, &#8220;GAP&#8221;, &#8220;QUAD&#8221; and count number of lines in each group using awk Save the following awk script in the file &#8220;ex148.awk&#8221; #!\/bin\/awk -f \/GAP\/{print;n_gap++} \/BAR\/{print;n_bar++} \/QUAD\/{print;n_quad++} END { printf &quot;n_gap=%i\\n&quot;,n_gap; printf &quot;n_bar=%i\\n&quot;,n_bar;printf &quot;n_quad=%i\\n&quot;,n_quad } Run file &#8220;ex148run.txt&#8221; awk -f ex148.awk test1.txt using .\/ex148run.txt The result is BAR 5000005 1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","_lmt_disableupdate":"yes","_lmt_disable":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[18],"tags":[],"class_list":["post-842","post","type-post","status-publish","format-standard","hentry","category-awk"],"modified_by":"gantovnik","jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8bH0k-dA","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":867,"url":"https:\/\/gantovnik.com\/bio-tips\/2021\/02\/156-filtering-content-from-files-using-awk\/","url_meta":{"origin":842,"position":0},"title":"#156 Filtering content from files using awk","author":"gantovnik","date":"2021-02-09","format":false,"excerpt":"#156 Displaying and filtering the content of files with awk Using the following command, we can print all lines from the file: [code language=\"python\"] awk ' { print } ' \/etc\/passwd [\/code] This is equivalent to using the $0 variable. The $0 variables refers to the complete line. [code language=\"python\"]\u2026","rel":"","context":"In &quot;awk&quot;","block_context":{"text":"awk","link":"https:\/\/gantovnik.com\/bio-tips\/category\/awk\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1889,"url":"https:\/\/gantovnik.com\/bio-tips\/2023\/07\/361-print-the-number-of-fields-in-each-line-containing-more-than-10-fields-is-the-field-delimiter\/","url_meta":{"origin":842,"position":1},"title":"#361 Print the number of fields in each line containing more than 10 fields. &#8220;,&#8221; is the field delimiter.","author":"gantovnik","date":"2023-07-15","format":false,"excerpt":"Print the number of fields in each line containing more than 10 fields. \",\" is the field delimiter. example.txt [code language=\"python\"] GAP,5000008,344229,-0.00000873,0.00000000,0.00000000 QUAD,5000009,389633,-62.98719000,4.20363900,-14.08507000,-5.83411800,-2.50325100,-4.89406400,14.13978000,1.43138700 TRIA,5000009,389634,-120.91420000,150.57080000,-76.72402000,0.96178280,-0.36827340,1.96346300,-1.02116100,-41.11020000 QUAD,5000009,389635,-15.21044000,0.99932950,3.18402900,-0.15678900,0.23568760,-0.34962440,0.21704630,-0.38061680 QUAD,5000009,389636,1.33232100,-65.55149000,11.67951000,-0.72253810,-0.16559730,0.68029730,-0.87976630,0.07846473 BUSH,5000008,377944,107.45720000,25.92157000,3.61063300,2.17414500,0.00000000,0.00000000 BUSH,5000008,377945,108.76870000,25.35708000,3.30875900,2.66002100,0.00000000,0.00000000 [\/code] ex361.txt [code language=\"python\"] awk -F\",\" '{if(NF > 10) print NF,\":\",$0}' example.txt [\/code] output: [code language=\"python\"] 11 : QUAD,5000009,389633,-62.98719000,4.20363900,-14.08507000,-5.83411800,-2.50325100,-4.89406400,14.13978000,1.43138700 11 : TRIA,5000009,389634,-120.91420000,150.57080000,-76.72402000,0.96178280,-0.36827340,1.96346300,-1.02116100,-41.11020000\u2026","rel":"","context":"In &quot;awk&quot;","block_context":{"text":"awk","link":"https:\/\/gantovnik.com\/bio-tips\/category\/awk\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1886,"url":"https:\/\/gantovnik.com\/bio-tips\/2023\/07\/360-print-the-number-of-fields-in-each-line-where-using-awk-is-the-field-delimiter\/","url_meta":{"origin":842,"position":2},"title":"#360 Print the number of fields in each line where using awk. &#8220;,&#8221; is the field delimiter.","author":"gantovnik","date":"2023-07-15","format":false,"excerpt":"Print the number of fields in each line using awk. \",\" is the field delimiter. example.txt [code language=\"python\"] GAP,5000008,344229,-0.00000873,0.00000000,0.00000000 QUAD,5000009,389633,-62.98719000,4.20363900,-14.08507000,-5.83411800,-2.50325100,-4.89406400,14.13978000,1.43138700 TRIA,5000009,389634,-120.91420000,150.57080000,-76.72402000,0.96178280,-0.36827340,1.96346300,-1.02116100,-41.11020000 QUAD,5000009,389635,-15.21044000,0.99932950,3.18402900,-0.15678900,0.23568760,-0.34962440,0.21704630,-0.38061680 QUAD,5000009,389636,1.33232100,-65.55149000,11.67951000,-0.72253810,-0.16559730,0.68029730,-0.87976630,0.07846473 BUSH,5000008,377944,107.45720000,25.92157000,3.61063300,2.17414500,0.00000000,0.00000000 BUSH,5000008,377945,108.76870000,25.35708000,3.30875900,2.66002100,0.00000000,0.00000000 [\/code] ex360.txt [code language=\"python\"] awk -F\",\" '{print NF,\":\",$0}' example.txt [\/code] output: [code language=\"python\"] 6 : GAP,5000008,344229,-0.00000873,0.00000000,0.00000000 11 : QUAD,5000009,389633,-62.98719000,4.20363900,-14.08507000,-5.83411800,-2.50325100,-4.89406400,14.13978000,1.43138700 11 : TRIA,5000009,389634,-120.91420000,150.57080000,-76.72402000,0.96178280,-0.36827340,1.96346300,-1.02116100,-41.11020000 11 : QUAD,5000009,389635,-15.21044000,0.99932950,3.18402900,-0.15678900,0.23568760,-0.34962440,0.21704630,-0.38061680\u2026","rel":"","context":"In &quot;awk&quot;","block_context":{"text":"awk","link":"https:\/\/gantovnik.com\/bio-tips\/category\/awk\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1899,"url":"https:\/\/gantovnik.com\/bio-tips\/2023\/07\/366-print-lines-in-a-range-using-awk\/","url_meta":{"origin":842,"position":3},"title":"#366 Print lines in a range using awk","author":"gantovnik","date":"2023-07-20","format":false,"excerpt":"example.csv [code language=\"python\"] Type,LCID,EID,Nx,Ny,Nxy,Mx,My,Mxy,Qyz,Qxz QUAD,5000001,389635,5.21044,0.9993295,3.184029,0.228490059,0.762438914,0.349926963,0.007402616,0.645762323 QUAD,5000002,389636,4.332321,-45.55149,10.13951,0.128933201,0.289045003,0.442976734,0.394346902,0.965424659 QUAD,5000003,389637,5.332321,-65.55149,12.32391,0.867613103,0.345799842,0.902593358,0.56308979,0.77084519 QUAD,5000004,389638,4.332321,-35.55149,14.27251,0.429855813,0.882431001,0.15453015,0.710809946,0.918974895 QUAD,5000005,389639,5.332455,-75.55149,15.37321,0.738401857,0.289007109,0.59902178,0.824840285,0.571976301 QUAD,5000006,389640,4.332321,-65.55149,13.27221,0.102678011,0.581496802,0.785601755,0.415283869,0.817283531 QUAD,5000007,389641,3.332321,-45.55149,12.67351,0.363658748,0.803570041,0.70688413,0.459446702,0.330453157 [\/code] ex366.txt [code language=\"python\"] awk 'NR>2 && NR < 5' example.csv [\/code] output: [code language=\"python\"] QUAD,5000002,389636,4.332321,-45.55149,10.13951,0.128933201,0.289045003,0.442976734,0.394346902,0.965424659 QUAD,5000003,389637,5.332321,-65.55149,12.32391,0.867613103,0.345799842,0.902593358,0.56308979,0.77084519 [\/code]","rel":"","context":"In &quot;awk&quot;","block_context":{"text":"awk","link":"https:\/\/gantovnik.com\/bio-tips\/category\/awk\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1883,"url":"https:\/\/gantovnik.com\/bio-tips\/2023\/07\/357-joining-groups-of-lines-in-a-text-file-using-awk\/","url_meta":{"origin":842,"position":4},"title":"#357 Joining groups of lines in a text file using awk","author":"gantovnik","date":"2023-07-14","format":false,"excerpt":"Joining groups of lines in a text file. The prints three consecutive lines of text on the same line, after which a linefeed is printed. This has the effect of \"joining\" every three consecutive lines of text. example.txt [code language=\"python\"] 1 2 3 4 5 6 7 8 9 [\/code]\u2026","rel":"","context":"In &quot;awk&quot;","block_context":{"text":"awk","link":"https:\/\/gantovnik.com\/bio-tips\/category\/awk\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1885,"url":"https:\/\/gantovnik.com\/bio-tips\/2023\/07\/359-print-the-number-of-fields-in-each-line-using-awk\/","url_meta":{"origin":842,"position":5},"title":"#359 Print the number of fields in each line using awk","author":"gantovnik","date":"2023-07-15","format":false,"excerpt":"Print the number of fields in each line using awk. example.txt [code language=\"python\"] QUAD 5000009 389633 -62.98719000 4.20363900 -14.08507000 -5.83411800 -2.50325100 -4.89406400 14.13978000 1.43138700 TRIA 5000009 389634 -120.91420000 150.57080000 -76.72402000 0.96178280 -0.36827340 1.96346300 -1.02116100 -41.11020000 QUAD 5000009 389635 -15.21044000 0.99932950 3.18402900 -0.15678900 0.23568760 -0.34962440 0.21704630 -0.38061680 GAP 5000008 344229 -0.00000873\u2026","rel":"","context":"In &quot;awk&quot;","block_context":{"text":"awk","link":"https:\/\/gantovnik.com\/bio-tips\/category\/awk\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/posts\/842","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/comments?post=842"}],"version-history":[{"count":0,"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/posts\/842\/revisions"}],"wp:attachment":[{"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/media?parent=842"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/categories?post=842"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/tags?post=842"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}