Solution 1 :
ls | xargs
Cela fonctionne pour moi, c'est le moyen le plus simple que j'ai jamais trouvé. J'espère que cela vous aidera également.
Solution 2 :
Je ne connais pas de commutateur qui pourrait faire cela, mais vous pouvez diriger votre sortie via tr
pour le faire :
ls | tr "\n" " " | <whatever you like>
Solution 3 :
Si votre ls
a cette option, vous pouvez utiliser une valeur élevée et cela pourrait faire ce que vous voulez :
ls -w 10000 -C . | head
Solution 4 :
ah, maintenant que vous avez mis à jour la question...
while true ; do echo * ; done | uniq
fera ce que vous avez posté, juste plus simple.
cependant, vous feriez mieux d'utiliser quelque chose qui utilise inotify pour ce faire... comme
inotifywait -m . -e create,delete
si vous n'avez pas inotify, alors quelque chose comme ça fonctionne bien aussi :
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)
Solution 5 :
Qu'en est-il du tout à fait trivial
echo *
? :-) Vous n'avez même pas besoin de bifurquer pour cela. :-)