gedit: cari dan ganti dengan ekspresi reguler


20

Saya ingin mengganti ini dengan gedit:

 1299465 |  2003415 | 2015-09-06 05:35:34.59662+02
 1299449 |  2009400 | 2015-09-06 05:35:32.301683+02
 1299450 |  2008465 | 2015-09-06 05:35:32.451393+02
 1299457 |  2015211 | 2015-09-06 05:35:33.451049+02

untuk itu:

2003415
2009400
2008465
2015211

Bagaimana saya bisa melakukan ini dengan gedit?

Latar Belakang: Saya ingin melakukannya dengan gedit dan bukan sed / python / .... karena penggantian harus dilakukan secara interaktif.


Jadi, Anda ingin melepas bidang luar?
Oli

@Oli ya saya ingin menghapus kolom pertama dan ketiga
guettli

Jawaban:


46

Dari kotak Replace standar ( Control+ H) Anda dapat menggunakan regex yang dikelompokkan sedikit untuk menangani ini:

  • Pencarian untuk: .*\| (.*) \|.*
  • Ubah dengan: \1
  • Centang kotak yang memiliki "Cocokkan sebagai ekspresi reguler"

Ini ada di Gedit 3.10.4, versi default di Ubuntu 14.04.


tidak bekerja tanpa plugin lain
AlexGreg

@AlexGreg Hah? Ini dengan stok geditpada 14,04 sejauh yang saya tahu. Saya sudah nuked ~/.config/geditdan masih berfungsi.
Oli

baik..bukan kasus saya .. aneh
AlexGreg

1
@AlexGreg Berhasil, Anda harus mencentang checkbox "Ekspresi reguler" tangguh
kos

3
Kedengarannya seperti Anda menggunakan versi kuno Ubuntu, @AlexGreg. Bahkan 12,04 Precise — versi tertua dari Ubuntu yang didukung — menggunakan 3.4.1 .
Oli

4

Anda dapat menggunakan plugin advanced-find untuk gedit.

Instal plugin dari sini .

Instruksi (jika Anda belum mengetahuinya) tentang cara menerapkan plugin gedit ada di sini

Kemudian, gunakan jawaban Oli untuk menghapus angka yang Anda inginkan dari pertanyaan Anda.


Jika Anda menjalankan Mint, Anda kemungkinan akan memiliki versi lama gedit dan kemudian ini adalah jawaban terbaik.
mcarans
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.