GNU/Linux >> Linux の 問題 >  >> Linux

ls ですべてを 1 行に出力するようにします (ターミナルのように)

解決策 1:

ls | xargs

それは私にとってはうまくいきます。これは私が今まで見つけた中で最も簡単な方法です。これがあなたにも役立つことを願っています。

解決策 2:

私はそれを行うことができるスイッチを知りませんが、 tr を介して出力をパイプできます それを行うには:

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

解決策 3:

ls の場合 このオプションがある場合、高い値を使用することができ、希望どおりの結果が得られる可能性があります:

ls -w 10000 -C . | head

解決策 4:

ああ、質問を更新したので....

while true ; do echo * ; done | uniq

あなたが投稿したことをより簡単に実行します。

ただし、これを行うにはinotifyを使用するものを使用する方がよいでしょう..のように

inotifywait -m . -e create,delete

inotify がない場合は、次のような方法でもうまくいきます:

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)

解決策 5:

ごく些細なことはどうですか

echo *

? :-) フォークする必要さえありません。 :-)


Linux
  1. ターミナルプロンプトが現在の回線を上書きしますか?

  2. 1つのSudoで一連のコマンドを実行しますか?

  3. Makefileで1行の状態チェックイン?

  1. 1 つを除くすべてのファイルを移動する

  2. 一致する各行の上下の行をgrepで印刷するにはどうすればよいですか?

  3. 複数行の bash コードを端末に貼り付けて、一度に実行するにはどうすればよいですか?

  1. LinuxターミナルでJSONファイルをきれいに印刷する方法

  2. 一行FTPサーバー

  3. サポートされている端末の種類を一覧表示しますか?