{"id":1883,"date":"2023-07-14T06:17:41","date_gmt":"2023-07-14T13:17:41","guid":{"rendered":"https:\/\/gantovnik.com\/bio-tips\/?p=1883"},"modified":"2023-07-14T06:17:41","modified_gmt":"2023-07-14T13:17:41","slug":"357-joining-groups-of-lines-in-a-text-file-using-awk","status":"publish","type":"post","link":"https:\/\/gantovnik.com\/bio-tips\/2023\/07\/357-joining-groups-of-lines-in-a-text-file-using-awk\/","title":{"rendered":"#357 Joining groups of lines in a text file using awk"},"content":{"rendered":"<p>Joining groups of lines in a text file.<\/p>\n<p>The prints three consecutive lines of text on the same line, after which a linefeed is printed. This has the effect of &#8220;joining&#8221; every three consecutive lines of text.<\/p>\n<p>example.txt<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n1\r\n2\r\n3\r\n4\r\n5\r\n6\r\n7\r\n8\r\n9\r\n<\/pre>\n<p>ex357.txt<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nawk -F&quot; &quot; '{\r\nprintf(&quot;%d&quot;,$0)\r\nif(NR % 3 == 0) { printf(&quot;\\n&quot;) }\r\n}' example.txt\r\n<\/pre>\n<p>output:<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n123\r\n456\r\n789\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>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 &#8220;joining&#8221; every three consecutive lines of text. example.txt 1 2 3 4 5 6 7 8 9 ex357.txt awk -F&quot; &quot; &#8216;{ printf(&quot;%d&quot;,$0) if(NR % [&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":[19],"class_list":["post-1883","post","type-post","status-publish","format-standard","hentry","category-awk","tag-awk"],"modified_by":"gantovnik","jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8bH0k-un","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":1884,"url":"https:\/\/gantovnik.com\/bio-tips\/2023\/07\/358-remove-blank-lines-using-awk\/","url_meta":{"origin":1883,"position":0},"title":"#358 Remove blank lines using awk","author":"gantovnik","date":"2023-07-15","format":false,"excerpt":"Remove blank lines using awk. NF variable in awk holds the number of fields in the line. In case of empty line, NF is zero and the condition is not met, so awk does nothing. example.txt [code language=\"python\"] 1 2 3 4 5 6 7 8 9 [\/code] ex358.txt [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":842,"url":"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\/","url_meta":{"origin":1883,"position":1},"title":"#148 Print lines containing words &#8220;BAR&#8221;, &#8220;GAP&#8221;, &#8220;QUAD&#8221; and count number of lines in each group using awk","author":"gantovnik","date":"2021-01-15","format":false,"excerpt":"#148 Print lines containing words \"BAR\", \"GAP\", \"QUAD\" and count number of lines in each group using awk Save the following awk script in the file \"ex148.awk\" [code language=\"python\"] #!\/bin\/awk -f \/GAP\/{print;n_gap++} \/BAR\/{print;n_bar++} \/QUAD\/{print;n_quad++} END { printf \"n_gap=%i\\n\",n_gap; printf \"n_bar=%i\\n\",n_bar;printf \"n_quad=%i\\n\",n_quad } [\/code] Run file \"ex148run.txt\" [code language=\"python\"] awk -f\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":867,"url":"https:\/\/gantovnik.com\/bio-tips\/2021\/02\/156-filtering-content-from-files-using-awk\/","url_meta":{"origin":1883,"position":2},"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":1883,"position":3},"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":892,"url":"https:\/\/gantovnik.com\/bio-tips\/2021\/02\/159-awk-control-file\/","url_meta":{"origin":1883,"position":4},"title":"#159 Awk control file","author":"gantovnik","date":"2021-02-09","format":false,"excerpt":"#159 Awk control file Create awk control file func1.awk [code language=\"python\"] function green(s) { printf \"\\033[1;32m\" s \"\\033[0m\\n\" } BEGIN { FS=\":\" green(\" Name: UID: Shell:\") } { printf \"%10s %4d %17s\\n\",$1,$3,$7 } [\/code] Command to run awk control file is [code language=\"python\"] awk -f func1.awk \/etc\/passwd [\/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":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":1883,"position":5},"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":[]}],"_links":{"self":[{"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/posts\/1883","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=1883"}],"version-history":[{"count":0,"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/posts\/1883\/revisions"}],"wp:attachment":[{"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/media?parent=1883"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/categories?post=1883"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gantovnik.com\/bio-tips\/wp-json\/wp\/v2\/tags?post=1883"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}