GNU/Linux >> Tutoriales Linux >  >> Linux

¿Imprimir todos los archivos en una carpeta?

digamos ls devuelve file1 file2 dir1 dire2 ... , quiero imprimir you have file1 file2 dir1 dire2 ... in currnent folder .

¿Cómo puedo hacer eso?
ls | xargs -i echo 'you have {} in current folder' impresiones

you have file1 in current folder
you have file2 in current folder
you have dir1 in current folder
you have dir2 in current folder
you have xxx in current folder

también he probado
ls |xargs printf 'you have %s %s %s %s in current folder'
pero no pudo hacerlo funcionar. ya que el número de archivos es indefinido. ¿Cuál es la sintaxis correcta para printf? en este caso?

ls | xargs printf 'you have [email protected] in current folder' es lo más cercano que puedo conseguir, pero no funciona.

Respuesta aceptada:

Lo siguiente funcionará, pero probablemente tenga algunas implicaciones de seguridad negativas:

echo "You have" * "in current folder"

En mi opinión, una mejor manera, pero requerir dos líneas sería:

files=(*)
echo "You have ${files[@]} in curent folder"

Con impresión:

files=(*)
printf '%s ' "You have ${files[@]} in current folder"

Linux
  1. Cómo eliminar todos los archivos de una carpeta excepto un archivo específico en Linux

  2. ¿Cómo imprimir el nombre de los archivos que faltan en una carpeta?

  3. ¿Agregar texto a todos los archivos en una carpeta?

  4. ¿Ordenar archivos en una carpeta específica con Ranger?

  5. ¿Cómo eliminar todos los archivos en una carpeta particular presente en las subcarpetas del directorio actual, excluyendo un archivo determinado?

Eliminar todos los archivos de una carpeta excepto el último (más reciente) 20?

¿Cómo eliminar todos los archivos con una extensión particular en una carpeta particular?

¿Recorrer una carpeta y listar archivos?

Mover todos los archivos excepto uno

¿Eliminar todo /var/log?

Implementación de una carpeta de archivos de plantilla usando ansible