{"id":85,"date":"2004-12-29T14:12:49","date_gmt":"2004-12-29T21:12:49","guid":{"rendered":"http:\/\/www.gubatron.com\/blog\/?p=85"},"modified":"2004-12-29T14:12:49","modified_gmt":"2004-12-29T21:12:49","slug":"2-programitas-utiles-mientras-desarrollas-en-linux","status":"publish","type":"post","link":"https:\/\/www.gubatron.com\/blog\/2-programitas-utiles-mientras-desarrollas-en-linux\/","title":{"rendered":"2 programitas utiles mientras desarrollas en Linux"},"content":{"rendered":"\n<p>Para los desarrolladores que utilizan lenguajes de programacion como Perl, o PHP, a continuacion, un programita bien util.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.wedoit4you.com\/elinks\/show_image.php?Image_pk_id=1151&amp;thumb=1&amp;img_height=400\" alt=\"\" \/><\/p>\n<p>Supon que tienes un archivo .php donde tienes definidas un monton de funciones. Y no te acuerdas que funciones estaban ahi, lo mas probable es que tengas que abrir el archivo y recorrerlo a ver si la funcion que buscabas est&#225; ahi o no.<\/p>\n<p>A continuacion un script que te puede ahorrar mucho tiempo, y que te sirve de &#8220;documentacion&#8221; en vivo.<\/p>\n<p><strong>show_funcs {archivo}<\/strong> (Muestra las funciones de un archivo PHP)<\/p>\n<p><code><br \/>\n#!\/bin\/bash<br \/>\ngrep -n function $1<br \/>\n<\/code><\/p>\n<p>En este caso, el script lo que hace es buscar dentro de un archivo todas las lineas que contengan la palabra &#8220;function&#8221;. Si estas en perl, altera el script y pon &#8220;sub&#8221; en vez de &#8220;function&#8221;. Puedes utilizar un script similar para el lenguaje de programaci&#243;n que estes utilizando.<\/p>\n<p>Ejemplo:<\/p>\n<p>136:     function addMe(){<br \/>\n170:     function loadMe($id) {<br \/>\n193:            function setOwner($user_id, $Lyric_id) {<br \/>\n200:            function updateMe($id) {<br \/>\n233:            function exist() {<br \/>\n242:            function hit($id){<br \/>\n247:            function resetHit($id){<br \/>\n253:            function deleteMe($id){<br \/>\n261:             function getLanguage() {<\/p>\n<p>El switch <strong>-n<\/strong> hace que aparezca el numero de linea.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.wedoit4you.com\/elinks\/show_image.php?Image_pk_id=1152&amp;thumb=1&amp;img_height=400\" alt=\"\" \/><\/p>\n<p>El otro programa bien util, es para los usuarios que utilizan CVS,<br \/>\nmuchas veces estas trabajando, y no sabes si algunos archivos que necesitas han sido actualizados por otros usuarios. Es util hacer entonces CVS log, y pillarse que es aquello que tienes que actualizar.<\/p>\n<p>Para hacer este chequeo de manera rapida, tenemos un script llamado<br \/>\n<strong>cvsstat<\/strong><\/p>\n<p><code><br \/>\ncvs status 2&gt;\/dev\/null|grep '^File:'|sort -r +3|grep -v Up-to-date<br \/>\n<\/code><\/p>\n<p>Esto te devolvera una lista de todos los scripts que no has actualizado en tu m&#225;quina.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para los desarrolladores que utilizan lenguajes de programacion como Perl, o PHP, a continuacion, un programita bien util. Supon que tienes un archivo .php donde tienes definidas un monton de funciones. Y no te acuerdas que funciones estaban ahi, lo mas probable es que tengas que abrir el archivo y recorrerlo a ver si la [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"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":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[33],"tags":[],"class_list":["post-85","post","type-post","status-publish","format-standard","hentry","category-gubatron"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5Unzf-1n","jetpack-related-posts":[{"id":75,"url":"https:\/\/www.gubatron.com\/blog\/upgrades-a-wedoit4youcom-emacs-tips\/","url_meta":{"origin":85,"position":0},"title":"Upgrades a wedoit4you.com \/ eMacs Tips","author":"gubatron","date":"December 19, 2004","format":false,"excerpt":"Hemos clasificado todo nuestro contenido de Reviews\/Articulos\/Noticias en Categorias. Las categorias se fueron creando a medida que revisabamos todo nuestro contenido, que ya sobrepasa las 500 publicaciones. Aun esta por pulirse un poco el look de como accedemos a estas categorias, y ahora si conseguimos el tiempo y el habito\u2026","rel":"","context":"In &quot;Gubatron&quot;","block_context":{"text":"Gubatron","link":"https:\/\/www.gubatron.com\/blog\/category\/gubatron\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":176,"url":"https:\/\/www.gubatron.com\/blog\/emacs-php-pon-esto-en-emacs\/","url_meta":{"origin":85,"position":1},"title":"emacs + php ? (pon esto en .emacs)","author":"gubatron","date":"July 12, 2005","format":false,"excerpt":"Si estas trabajando en PHP con emacs, recomiendo que tengas esto al final de tu archivo ~\/.emacs (require 'php-mode) (global-font-lock-mode 1 t) (define-key esc-map \"g\" 'goto-line) Carga el modo php Por defecto tienes fon-lock-mode puesto, asi que vas a tener syntax highlighting apenas abras el archivo. Y para hacer goto-line,\u2026","rel":"","context":"In &quot;Gubatron&quot;","block_context":{"text":"Gubatron","link":"https:\/\/www.gubatron.com\/blog\/category\/gubatron\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":360,"url":"https:\/\/www.gubatron.com\/blog\/como-matar-varios-procesos-cuando-killall-no-es-una-opcion\/","url_meta":{"origin":85,"position":2},"title":"Como matar varios procesos cuando killall no es una opcion.","author":"gubatron","date":"August 15, 2006","format":false,"excerpt":"A veces tienes un cronjob que se queda pegado por mucho rato, cuando haces Code: ps aux | grep miPrograma tienes un monton de instancias pegadas!! Intentas hacer killall miPrograma pero no funciona porque quizas es un programa que estas arrancando con un interprete, como python, o php, o perl.\u2026","rel":"","context":"In &quot;Geeklife&quot;","block_context":{"text":"Geeklife","link":"https:\/\/www.gubatron.com\/blog\/category\/geeklife\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":130,"url":"https:\/\/www.gubatron.com\/blog\/linux-poder-de-bash-grep-awk\/","url_meta":{"origin":85,"position":3},"title":"Linux: Poder de Bash, Grep, AWK","author":"gubatron","date":"April 3, 2005","format":false,"excerpt":"Si eres un pipiri en linux, te vas a aburrir con esto. Ya con 2 meses o quizas un poco mas de vivir 100% linux, empiezo a probar por mi mismo cosas que recuerdo haber visto en los .bash_history de la cuenta del administrador en mi universidad, ya hace mas\u2026","rel":"","context":"In &quot;Gubatron&quot;","block_context":{"text":"Gubatron","link":"https:\/\/www.gubatron.com\/blog\/category\/gubatron\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":15,"url":"https:\/\/www.gubatron.com\/blog\/detalles-de-perl-que-no-quiero-olvidar\/","url_meta":{"origin":85,"position":4},"title":"Detalles de Perl que no quiero olvidar","author":"gubatron","date":"October 24, 2004","format":false,"excerpt":"Quisiera dejar anotado en el blog, algunos detalles \u00fatiles que recuerdo aprend\u00ed finalmente cuando estuve programando en PERL para Straec Technologies. A modo de manejo de conocimiento, y para que esto quede indexado en los buscadores, voy a anotar aqui algunas m\u00e1ximas, y detallitos bien utiles cuando estas programando algo\u2026","rel":"","context":"In &quot;Gubatron&quot;","block_context":{"text":"Gubatron","link":"https:\/\/www.gubatron.com\/blog\/category\/gubatron\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":63,"url":"https:\/\/www.gubatron.com\/blog\/vaciando-el-buffer\/","url_meta":{"origin":85,"position":5},"title":"Vaciando el Buffer","author":"gubatron","date":"December 10, 2004","format":false,"excerpt":"Este post es un poco para desahogar algunos consejos y tips que he querido tener anotados, y que mejor lugar que el blog, donde mis notas personales pueden ayudar a otros. En mi \u00faltimas asignaciones profesionales he tenido que trabajar en ambientes 100% Linux, esto me ha hecho refrescar viejas\u2026","rel":"","context":"In &quot;Gubatron&quot;","block_context":{"text":"Gubatron","link":"https:\/\/www.gubatron.com\/blog\/category\/gubatron\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/posts\/85","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/comments?post=85"}],"version-history":[{"count":0,"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/posts\/85\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/media?parent=85"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/categories?post=85"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gubatron.com\/blog\/wp-json\/wp\/v2\/tags?post=85"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}