GNU/Linux >> Belajar Linux >  >> Linux

Program yang Bisa Buffer Stdin Atau File?

Selain menggunakan file sementara untuk membantu, apakah ada cara/program dapat menyangga input dari stdin tetapi tidak menampilkan konten sampai mendapatkan EOF . Saya juga tidak ingin menggunakan variabel shell (mis. buffer=$(cat) ).

Program ini harus berperilaku seperti di bawah ini (anggap nama program adalah buffered-cat ):

$ buffered-cat
line 1
line 2
line 3
^D # Ctr-D here(End of Line)

Sekarang program menerima ^D , buffered-cat menampilkan isinya

line 1
line 2
line 3

Jawaban yang Diterima:

sponge orang miskin menggunakan awk :

awk '{a[NR] = $0} END {for (i = 1; i <= NR; i++) print a[i]}'

Jika Anda memiliki tac , Anda juga dapat menyalahgunakannya:

... | tac | tac

Linux
  1. Kotak Sibuk Membaca File Baris demi Baris?

  2. Temukan file lalu cd ke direktori itu di Linux

  3. unix - hitungan kolom dalam file

  1. grep tanpa menunjukkan path/file:line

  2. Mungkinkah deskriptor file linux 0 1 2 bukan untuk stdin, stdout dan stderr?

  3. unix - membagi file .gz besar per baris

  1. Cat Line X Ke Line Y Pada File Besar?

  2. Bagaimana Cara Mengarahkan Output Program Ke File Zip??

  3. Program baris perintah untuk menguji layanan DHCP