GNU/Linux >> Belajar Linux >  >> Linux

Jadikan ls cetak semuanya dalam satu baris (seperti di terminal)

Solusi 1:

ls | xargs

Ini bekerja untuk saya, itu cara paling sederhana yang pernah saya temukan. Semoga ini juga membantu Anda.

Solusi 2:

saya tidak tahu saklar yang bisa melakukan itu, tetapi Anda dapat menyalurkan output Anda melalui tr untuk melakukannya:

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

Solusi 3:

Jika ls Anda memiliki opsi ini, Anda dapat menggunakan nilai tinggi dan mungkin melakukan apa yang Anda inginkan:

ls -w 10000 -C . | head

Solusi 4:

ah, sekarang Anda telah memperbarui pertanyaannya....

while true ; do echo * ; done | uniq

akan melakukan apa yang Anda posting, lebih sederhana.

namun, Anda lebih baik menggunakan sesuatu yang menggunakan inotify untuk melakukan ini.. seperti

inotifywait -m . -e create,delete

jika Anda tidak memiliki inotify, maka hal seperti ini juga berfungsi dengan baik:

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)

Solusi 5:

Bagaimana dengan yang cukup sepele

echo *

? :-) Anda bahkan tidak perlu membayarnya. :-)


Linux
  1. Terminal Prompt Menimpa Baris Saat Ini?

  2. Cetak Dua File Dalam Dua Kolom?

  3. Cetak Semua File Dalam Folder?

  1. GameHub – Semua Game Anda di Satu Tempat

  2. Bagaimana cara menempelkan kode bash multi-baris ke terminal dan menjalankannya sekaligus?

  3. Server FTP Satu Jalur

  1. mengirim email dari terminal linux dalam satu baris

  2. Mengonversi cetakan cantik JSON menjadi satu baris

  3. Sebutkan jenis terminal yang didukung?