GNU/Linux >> Belajar Linux >  >> Linux

Tampilkan Semua File Hingga Pertandingan?

grep --before-context 5 menunjukkan 5 baris sebelum pertandingan.

Saya ingin menunjukkan semuanya sebelum pertandingan.
Melakukan grep --before-context 99999999 akan bekerja tetapi tidak terlalu… profesional.

Bagaimana cara menampilkan semua file yang cocok?

Jawaban yang Diterima:

Sed lebih baik untuk itu.

Lakukan saja:

sed '/PATTERN/q' FILE

Ini bekerja seperti ini:

Untuk setiap baris, kita lihat apakah cocok dengan /PATTERN :

  • jika ya, kami mencetaknya dan keluar
  • jika tidak, kami akan mencetaknya

Ini adalah solusi yang paling efisien, karena begitu melihat PATTERN , itu berhenti. Tanpa q , sed akan terus membaca sisa file, dan tidak melakukan apa pun dengannya. Untuk file besar, ini bisa membuat perbedaan.

Trik ini juga bisa digunakan untuk meniru head :

sed 10q FILE

Linux
  1. Bagaimana Cara Menyisipkan Teks Sebelum Baris Pertama Sebuah File?

  2. Tampilkan Semua Baris Sebelum Pertandingan?

  3. Cara Menampilkan File Saya sebagai Halaman Default

  1. Apa perbedaan antara grep, awk &sed?

  2. Cara menggunakan sed untuk menghapus n baris terakhir dari sebuah file

  3. Perintah sed Linux tidak mengubah file target

  1. Semuanya ada di file titik - YADM dan Homeshick

  2. Bagaimana cara Menyimpan output SHOW PROCESSLIST ke dalam file di MySQL?

  3. Bagaimana cara memasukkan teks ke baris pertama file menggunakan sed?