Soluzione 1:
ls | xargs
Funziona per me, è il modo più semplice che abbia mai trovato. Spero che questo aiuti anche te.
Soluzione 2:
non conosco un interruttore che possa farlo, ma puoi reindirizzare il tuo output attraverso tr
per farlo:
ls | tr "\n" " " | <whatever you like>
Soluzione 3:
Se il tuo ls
ha questa opzione, puoi usare un valore alto e potrebbe fare quello che vuoi:
ls -w 10000 -C . | head
Soluzione 4:
ah, ora che hai aggiornato la domanda....
while true ; do echo * ; done | uniq
farà quello che hai postato, solo più semplice.
tuttavia, è meglio usare qualcosa che usa inotify per farlo... come
inotifywait -m . -e create,delete
se non hai inotify, anche qualcosa del genere funziona bene:
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)
Soluzione 5:
Che dire del piuttosto banale
echo *
? :-) Non hai nemmeno bisogno di sborsare per questo. :-)