GNU/Linux >> Belajar Linux >  >> Linux

Sed:Hapus Semua Kemunculan String Kecuali Yang Pertama?

Saya memiliki file log dengan cap waktu di dalamnya. Terkadang ada beberapa stempel waktu dalam satu baris. Sekarang saya ingin menghapus semua stempel waktu dari sebuah baris tetapi tetap yang pertama.

Saya bisa melakukan s/pattern//2 tapi itu hanya menghilangkan kemunculan kedua dan sed tidak mengizinkan sesuatu seperti s/pattern//2- .

Ada saran?

Jawaban yang Diterima:

Dengan GNU sed :

sed 's/pattern//2g'

2 menentukan bahwa pola kedua dan sisanyag harus menghapus. Jadi ini akan menyimpan yang pertama.


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

  2. Hanya Mengembalikan String yang Cocok Di Sed?

  3. Hapus Semua File Dalam Satu Folder Kecuali Yang Terakhir (Terbaru) 20?

  1. Hapus File Log Lama Kecuali Yang Terakhir (Diurutkan Secara Alfanumerik)?

  2. Bagaimana Cara Menghapus N Baris Pertama Dari File Ascii Menggunakan Perintah Shell?

  3. Ganti Semua Baris Baru Ke Spasi Kecuali Yang Terakhir?

  1. Gunakan Temukan Untuk Menemukan Direktori Tertentu Dan Hapus Semua File Di dalamnya Kecuali Satu Direktori?

  2. sed pemula:mengubah semua kemunculan dalam folder

  3. Hapus semua folder di dalam folder kecuali satu dengan nama tertentu