Tengo un conjunto de archivos poblado y necesito imprimir los nombres de archivo coincidentes en un archivo de texto.¿Cómo puedo imprimir un conjunto de archivos en un archivo, un nombre de archivo por línea?
yo probamos este:
<fileset id="myfileset" dir="../sounds">
<include name="*.wav" />
<include name="*.ogg" />
</fileset>
<property name="sounds" refid="myfileset" />
<echo file="sounds.txt">${sounds}</echo>
que imprime todos los archivos en una sola línea, separados por punto y coma. Necesito tener un archivo por línea. ¿Cómo puedo hacer esto sin recurrir a llamar comandos de SO o escribir código de Java?
ACTUALIZACIÓN:
Ah, debería haber sido más específico - la lista no debe contener directorios. Estoy marcando ChssPly76 como la respuesta aceptada de todos modos, ya que el comando pathconvert era exactamente lo que me faltaba. Para quitar los directorios y enumerar solo los nombres de los archivos, utilicé el "flatten" mapper.
Aquí está el script que terminé con:
<fileset id="sounds_fileset" dir="../sound">
<include name="*.wav" />
<include name="*.ogg" />
</fileset>
<pathconvert pathsep="
" property="sounds" refid="sounds_fileset">
<mapper type="flatten" />
</pathconvert>
<echo file="sounds.txt">${sounds}</echo>
La tarea Pathconvert parece crear la ruta absoluta del archivo. ¿Hay alguna posibilidad de evitar esto? Tengo el mismo problema y quiero imprimir una lista de archivos, pero no la ruta completa, sino una relativa (así aplanar no funcionará para mí) – Soccertrash
@Soccertrash, lo resolví con el procesamiento posterior del archivo con ' 'para eliminar el prefijo del directorio base común (en mi caso). –
mgaert
@mgaert, puede hacerlo in situ como ' '. Colóquelo dentro de' '. –