{"id":739,"date":"2023-10-18T13:37:27","date_gmt":"2023-10-18T11:37:27","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/?page_id=739"},"modified":"2025-07-26T15:35:09","modified_gmt":"2025-07-26T13:35:09","slug":"1-13-5-manipulacion-de-cadenas-de-caracteres","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/1-13-5-manipulacion-de-cadenas-de-caracteres\/","title":{"rendered":"1.13.5. Manipulaci\u00f3n de cadenas de caracteres"},"content":{"rendered":"<p>L\u2019ordre <code>gawk<\/code> proveeix de diverses funcions per a la manipulaci\u00f3 de cadenes de car\u00e0cters. En aquest apartat nom\u00e9s es mostren les funcions molt senzilles d\u2019usar que s\u2019implementen amb freq\u00fc\u00e8ncia en codi <em>gawk,<\/em> i a continuaci\u00f3 diferents exemples pr\u00e0ctics amb els quals es pot practicar.<\/p>\n<div class=\"featured featured-grey\"><\/p>\n<ul>\n<li><strong><code>match()<\/code><\/strong><code>\u00a0 \u00a0match(cadena, regexp [,array])<\/code><\/li>\n<li><strong><code>index()<\/code><\/strong><code>\u00a0 \u00a0index(in_str1, find_str2)<\/code><\/li>\n<li><strong><code>sub()<\/code><\/strong><code>\u00a0 \u00a0 \u00a0\/regexp\/, \"reemplazo\", [, diana]<\/code><\/li>\n<li><strong><code>gsub()<\/code><\/strong><code>\u00a0 \u00a0 \/regexp\/, \"reemplazo\", [,diana]<\/code><\/li>\n<li><strong><code>substr()<\/code><\/strong><code>\u00a0 cadena, inicio, [,longitud]<\/code><\/li>\n<li><strong><code>split()<\/code><\/strong><code>\u00a0 \u00a0split(string, array [, fieldsep [,seps ] ])<\/code><\/li>\n<li><strong><code>length ()<\/code><\/strong><code> ([string])<\/code><\/li>\n<li><strong><code>tolower()<\/code><\/strong><code> (string)<\/code><\/li>\n<li><strong><code>toupper()<\/code><\/strong><code> (string)<\/code><\/li>\n<\/ul>\n<p>\n<\/div>\n<ol>\n<li><code>sub()<\/code> busca la inst\u00e0ncia m\u00e9s llarga en la cadena diana de la <em>regexp<\/em>, substituint-la per la cadena reempla\u00e7ament, mentre que <code>gsub()<\/code> realitza reempla\u00e7aments globals.<\/li>\n<\/ol>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ echo 'GGCCCACACAAACGCGACGGCGAA' | gawk 'sub(\/GACGGC\/, \"\")'<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\"> GGCCCACACAAACGCGAA<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\"> $ gawk 'BEGIN { cad = \"\u00c9s una cadena de les bases nitrogenades: cadena\";\r\nprint cad; sub(\/cadena\/, \"seq\u00fc\u00e8ncia\", cad); print cad}'<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\"> \r\n\u00c9s una cadena de les bases nitrogenades: cadena \r\n\u00c9s una seq\u00fc\u00e8ncia de les bases nitrogenades: cadena<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\"> $ gawk 'BEGIN { cad = \"\u00c9s una cadena de bases nitrogenades: cadena\";\r\nprint cad; gsub(\/cadena\/, \"secuencia\", cad); print cad}'<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">\u00c9s una cadena de bases nitrogenades: cadena\r\n\u00c9s una seq\u00fc\u00e8ncia de bases nitrogenades: seq\u00fc\u00e8ncia<\/pre>\n<ol start=\"2\">\n<li>\u00a0 <code>index()<\/code> imprimeix l\u2019\u00edndex en qu\u00e8 comen\u00e7a la subcadena (AAA) a la cadena principal (<em>seq<\/em>, en aquest cas).. <code>index()<\/code> i <code>substr()<\/code> amb freq\u00fc\u00e8ncia s\u2019usen junts.<\/li>\n<\/ol>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk 'BEGIN { seq = \"GGCCCACACAAACGCGACGGCGAA\";\r\nidx = index(seq, \"AAA\"; print idx}'<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">10<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ echo 'GGCCCACACAAACGCGACGGCGAA' | gawk '{ idx = index($0, \"AAA\"); gene = substr($0, idx); print idx, \"\\n\"$0, \"\\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \" gene }'\r\n<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">10 \r\nGGCCCACACAAACGCGACGGCGAA\r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0AAACGCGACGGCGAA<\/pre>\n<ol start=\"3\">\n<li>I un \u00faltim exemple amb <code>length<\/code> (en catal\u00e0, <em>longitud<\/em>).<\/li>\n<\/ol>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ echo 'GGCCCACACAAACGCGACGGCGAA' | gawk 'END {print \"El oligo\",\u00a0 $0, \"t\u00e9\", length($0), \"nt de longitud.\"}'<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">L'oligo GGCCCACACAAACGCGACGGCGAA t\u00e9 24 nt de longitud.<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>L\u2019ordre gawk proveeix de diverses funcions per a la manipulaci\u00f3 de cadenes de car\u00e0cters. En aquest apartat nom\u00e9s es mostren les funcions molt senzilles d\u2019usar que s\u2019implementen amb freq\u00fc\u00e8ncia en codi gawk, i a continuaci\u00f3 diferents exemples pr\u00e0ctics amb els quals es pot practicar. sub() busca la inst\u00e0ncia m\u00e9s llarga en la cadena diana de [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/739"}],"collection":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/comments?post=739"}],"version-history":[{"count":9,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/739\/revisions"}],"predecessor-version":[{"id":1368,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/739\/revisions\/1368"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/media?parent=739"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}