<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Mariano Guerra's Log (Publicaciones sobre directorios)</title><link>http://marianoguerra.org/</link><description></description><atom:link href="http://marianoguerra.org/es/categories/directorios.xml" rel="self" type="application/rss+xml"></atom:link><language>es</language><lastBuildDate>Mon, 18 Nov 2024 17:56:40 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>iterar por directorios con espacios en un shell script</title><link>http://marianoguerra.org/es/posts/201102iterar-por-directorios-con-espacios-en/</link><dc:creator>Mariano Guerra</dc:creator><description>&lt;p&gt;la vida nos sonríe, nos sentimos cual neo escribiendo comandos en el shell a diestra y siniestra, estamos a punto de para las balas con las manos, corremos:&lt;br&gt;&lt;br&gt;&lt;/p&gt;&lt;pre&gt;for i in $(ls); do echo $i; done&lt;br&gt;&lt;/pre&gt;&lt;br&gt;y nuestra ilusión hacker se nos cae a pedazos al ver que cada palabra de un directorio o archivo con espacios sale en una linea nueva.&lt;br&gt;&lt;br&gt;no desesperaos (?) he aquí la solución.&lt;br&gt;&lt;br&gt;reproduzcamos el error para después arreglarlo:&lt;br&gt;&lt;br&gt;&lt;pre&gt;$ mkdir -p "t/folder 1" "t/folder 2" "t/folder 3 with more spaces"&lt;br&gt;$ cd t&lt;br&gt;$ for i in $(ls); do echo $i; done&lt;br&gt;folder&lt;br&gt;1&lt;br&gt;folder&lt;br&gt;2&lt;br&gt;folder&lt;br&gt;3&lt;br&gt;with&lt;br&gt;more&lt;br&gt;spaces&lt;br&gt;&lt;/pre&gt;&lt;br&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://indianinthemachine.files.wordpress.com/2009/11/where-is-your-god-now.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="213" src="http://indianinthemachine.files.wordpress.com/2009/11/where-is-your-god-now.jpg" width="320"&gt;&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;vamos de nuevo ahora con la solución:&lt;br&gt;&lt;br&gt;&lt;pre&gt;$ IFS="$(echo -e "\n\r")"&lt;br&gt;$ for i in $(ls); do echo $i; done&lt;br&gt;folder 1&lt;br&gt;folder 2&lt;br&gt;folder 3 with more spaces&lt;br&gt;&lt;/pre&gt;&lt;br&gt;y todos felices (incluso &lt;a href="http://www.youtube.com/watch?v=RbArCOuDevs"&gt;carlin calvo que puede seguir hackeando&lt;/a&gt; literalmente a dos manos en sus computadoras auspiciadas por fravega)</description><guid>http://marianoguerra.org/es/posts/201102iterar-por-directorios-con-espacios-en/</guid><pubDate>Mon, 14 Feb 2011 21:36:00 GMT</pubDate></item></channel></rss>