GNU/Linux >> Znalost Linux >  >> Linux

Nechte vše vytisknout na jeden řádek (jako v terminálu)

Řešení 1:

ls | xargs

Funguje mi to, je to ten nejjednodušší způsob, jaký jsem kdy našel. Doufám, že vám to také pomůže.

Řešení 2:

Nevím o přepínači, který by to dokázal, ale můžete svůj výstup propojit přes tr jak to udělat:

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

Řešení 3:

Pokud je vaše ls má tuto možnost, můžete použít vysokou hodnotu a může to dělat, co chcete:

ls -w 10000 -C . | head

Řešení 4:

aha, teď, když jste aktualizovali otázku....

while true ; do echo * ; done | uniq

udělá to, co jste zveřejnili, jen jednodušší.

nicméně je lepší použít něco, co k tomu používá inotify.. jako

inotifywait -m . -e create,delete

pokud nemáte inotify, pak něco takového funguje dobře:

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)

Řešení 5:

A co docela triviální

echo *

? :-) Nepotřebujete na to ani vidličku. :-)


Linux
  1. Jak pěkně vytisknout soubor JSON v terminálu Linux

  2. Výzva terminálu přepíše aktuální řádek?

  3. Tisknout dva soubory ve dvou sloupcích?

  1. Jak udělat rolování obrazovky jako normální terminál?

  2. Vykonat řadu příkazů jedním sudem?

  3. Tisknout všechny soubory ve složce?

  1. Přesuňte všechny soubory kromě jednoho

  2. Jak mohu přimět grep, aby vytiskl řádky pod a nad každým odpovídajícím řádkem?

  3. Jak vložím víceřádkové bash kódy do terminálu a spustím je všechny najednou?