GNU/Linux >> Tutoriales Linux >  >> Linux

Haz que ls lo imprima todo en una línea (como en la terminal)

Solución 1:

ls | xargs

Funciona para mí, es la forma más sencilla que he encontrado. Espero que esto también te ayude.

Solución 2:

no conozco un interruptor que pueda hacer eso, pero puede canalizar su salida a través de tr para hacerlo:

ls | tr "\n" " " | <whatever you like>

Solución 3:

Si tu ls tiene esta opción, puede usar un valor alto y podría hacer lo que quiera:

ls -w 10000 -C . | head

Solución 4:

ah, ahora que has actualizado la pregunta....

while true ; do echo * ; done | uniq

hará lo que publicaste, solo que más simple.

sin embargo, es mejor que uses algo que use inotify para hacer esto... como

inotifywait -m . -e create,delete

si no tiene inotify, algo como esto también funciona bien:

import os
import time

last = set()
while True:
    cur = set(os.listdir('.'))
    added = cur-last
    removed = last-cur
    if added: print 'added', added
    if removed: print 'removed', removed
    last = set(os.listdir('.'))
    time.sleep(0.1)

Solución 5:

¿Qué pasa con lo bastante trivial?

echo *

? :-) Ni siquiera necesitas bifurcarlo. :-)


Linux
  1. ¿El indicador de terminal sobrescribe la línea actual?

  2. ¿Imprimir dos archivos en dos columnas?

  3. ¿Manera de hacer que la pantalla se desplace como una terminal normal?

  4. ¿Ejecutar una línea de comandos con un Sudo?

  5. ¿Imprimir todos los archivos en una carpeta?

Imprima archivos desde su terminal Linux

Imprima los últimos eventos espaciales con Nextinspace en la terminal

Servidor FTP de una línea

enviar correo desde la terminal de linux en una línea

Convertir JSON pretty print en una línea

¿Cómo hacer un ~/.vimrc global?