gedit: ค้นหาและแทนที่ด้วยนิพจน์ทั่วไป


21

ฉันต้องการแทนที่ด้วย 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

เพื่อที่:

2003415
2009400
2008465
2015211

ฉันจะทำสิ่งนี้กับ gedit ได้อย่างไร

พื้นหลัง: ฉันต้องการใช้กับ gedit ไม่ใช่ sed / python / .... เนื่องจากการแทนที่จำเป็นต้องทำแบบโต้ตอบ


ดังนั้นคุณต้องการตัดฟิลด์ด้านนอกออกหรือไม่
Oli

@Oli ใช่ฉันต้องการตัดคอลัมน์แรกและคอลัมน์ที่สาม
guettli

คำตอบ:


47

จากกล่องแทนที่มาตรฐาน ( Control+ H) คุณสามารถใช้ regex ที่จัดกลุ่มเล็กน้อยเพื่อจัดการสิ่งนี้:

  • ค้นหา: .*\| (.*) \|.*
  • แทนที่ด้วย: \1
  • ทำเครื่องหมายในช่องที่มี "จับคู่เป็นนิพจน์ทั่วไป"

นี่คือ Gedit 3.10.4 ซึ่งเป็นรุ่นเริ่มต้นใน Ubuntu 14.04


ไม่ทำงานกับไม่มีปลั๊กอินอื่น ๆ
AlexGreg

@AlexGreg Huh? นี่คือหุ้นgeditใน 14.04 เท่าที่ฉันสามารถบอกได้ ฉัน nuked ~/.config/geditและยังคงใช้งานได้
Oli

ดี .. ไม่ได้เป็นกรณีของฉันแปลก ๆ
AlexGreg

1
@AlexGreg มันใช้งานได้คุณต้องตรวจสอบช่องทำเครื่องหมาย "การแสดงออกปกติ" ที่ยาก
kos

3
ดูเหมือนว่าคุณกำลังใช้ Ubuntu รุ่นเก่า @AlexGreg แม้ 12.04 แม่นยำ -The รุ่นที่สนับสนุนเก่าแก่ที่สุดของ Ubuntu- ใช้ 3.4.1
Oli

4

คุณสามารถใช้ปลั๊กอินค้นหาขั้นสูงสำหรับ gedit

ติดตั้งปลั๊กอินจากที่นี่

คำแนะนำ (หากคุณยังไม่รู้) ในการใช้งานปลั๊กอิน gedit อยู่ที่นี่

จากนั้นใช้คำตอบของ Oli เพื่อตัดหมายเลขที่คุณต้องการจากคำถามของคุณ


หากคุณใช้ Mint คุณอาจจะมี gedit รุ่นเก่าและนี่คือคำตอบที่ดีที่สุด
mcarans
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.