----- Original Message ----- From: "Manolet Gmail" <[EMAIL PROTECTED]>
To: "Lista Debian-Español" <[email protected]> Sent: Monday, July 09, 2007 5:36 AM Subject: BASH listo directorios y si es vacio...
hola amigos! tengo una inquietud, con un script quiero listar todos los archivos xml en una carpeta para trabajar con ellos... pero quiero que si no encuentra archivos me vote un aviso. tengo esto... for F in *.xml; do .... done el problema esta en que si no existe ningun archivo xml va a intentar abrir un archivo llamado *.xml, que obviamente no existe.... intente con esto: for F in *.xml; do if [ "$F" = "*.xml" ] ; then echo "no hay archivos en la carpeta fi done pero me mando un error diciendo que no existe el archivo *.xml luego intente con esto.. if [ !"$F"]
prueba con: if [ -f "$F" ]
tampoco... alguna idea?
prueba el find, da mejores resultados: for F in `find "/ruta/hacia/los/archivos" -type f -name "*.xml"`; do En el man del find podrás encontrar todas sus posibilidades, que no son pocas. Además si tienes más de 4000 nosecuantos archivos (no recuerdo la cifra), el ls te da un error diciendo que la lista de argumentos es demasiado grande. Si al find le pasas como ruta a buscar un directorio (sin asteriscos), resuelves este problema. Un saludo. --------------------------------------------- Arnau Carrasco - http://www.arnaucarrasco.com --------------------------------------------- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

