Cómo enumerar solo archivos en un directorio separados por comas

Cómo enumerar solo archivos en un directorio separados por comas

Así que no hay directorios ni archivos ocultos. Sólo los archivos. Enumerar solo archivos se puede hacer con la línea de la siguiente manera.

ls -p | grep -v /

Ahora quiero que el resultado de esta línea esté separado por comas.

Respuesta1

Puedes utilizar trpara ese trabajo.

ls -p | grep -v / | tr '\n' ','

Respuesta2

Puedes usar el ls -mcomando GNU. Imprimirá todos los archivos y directorios separados por comas.

Respuesta3

La solución propuesta por Thomas funciona, pero agrega una coma al último elemento (que puede no ser lo que desea) y elimina los espacios después de las comas. La siguiente alternativa conserva los espacios después de las comas y no agrega una coma después del último elemento:

 ls -1p | grep -v / | xargs echo | sed 's/ /, /g'

Por supuesto, si desea deshacerse de los espacios entre los elementos, simplemente modifique la expresión sed:

 ls -1p | grep -v / | xargs echo | sed 's/ /,/g'

(Nota para los espectadores que usan una fuente en la que una 'l' minúscula y el número '1' (uno) tienen el mismo aspecto: la primera opción que se pasa lses 1el número, no minúsculas l).

Como señaló Jim L en un comentario, los comandos anteriores solo funcionan para nombres de archivos que no contienen espacios. Los siguientes comandos solucionan esto:

 ls -1p | grep -v / | sed 's/$/, /g' | xargs echo | sed 's/,$//g' 

Esto reemplaza los finales de línea con una coma antes de pasar la lista a echo; la última parte elimina el comando al final de la lista.

información relacionada