แก้ไขข้อความที่สามารถใช้งานนิพจน์ปกติที่ซับซ้อนได้หรือไม่


10

ฉันต้องการค้นหาเท็กซ์เอดิเตอร์ที่สามารถเรียกใช้และเก็บนิพจน์ทั่วไปไว้เพื่อใช้ในภายหลัง มันควรจะสามารถเรียกใช้พวกเขาในหลายไฟล์

ฉันรู้ว่าฉันสามารถใช้ grep ได้ แต่ก็ไม่มีอะไรมากที่จะนำกลับมาใช้ใหม่ ฉันสามารถรับฟังก์ชั่นการแสดงผลปกติบน Gedit ด้วยปลั๊กอิน แต่ไม่ใกล้เคียงกับความต้องการของฉัน

มี EditPad Pro สำหรับ Windows (ทำงานบนไวน์) แต่เนทิฟดีกว่าเสมอ :)

คำตอบ:


18

บรรณาธิการโอเพ่นซอร์สคลาสสิกสองตัวคือGNU emacsและ(g) Vimและทำงานได้ดีบน Ubuntu พวกเขาทั้งสองมีคุณสมบัติมากกว่าที่คุณสามารถเรียนรู้ได้ตลอดชีวิตรวมถึงสิ่งที่คุณตามหา มีคนอื่นอีกสองคนเช่นกัน แต่คุณก็อาจเริ่มด้วยสิ่งที่ดีที่สุด (ฉันจะพยายามไม่ให้สิ่งใดดีไปกว่านี้เพราะมันเป็นสงครามศักดิ์สิทธิ์ครั้งยิ่งใหญ่ไปแล้ว)

โดยวิธีการที่ Sed อาจเป็นทางเลือกที่ดีกว่า grep สำหรับการจัดการ RegEx จาก commandline และคุณสามารถเขียนและบันทึกสคริปต์สำหรับมัน (แน่นอนคุณสามารถใช้ perl, awk และ python สำหรับ reg ex ได้เช่นกัน)

แรงบันดาลใจบางอย่างจาก xkcd: http://imgs.xkcd.com/comics/real_programmers.png


2
ฉันเกลียดที่จะเป็นผู้ชายคนนั้น แต่ 'เกินไป' ไม่ใช่ 'สอง'
TJ L

D'โอ้! ขออภัยเกี่ยวกับการพิมพ์ผิด ไม่ต้องกังวล ฉันมักจะเป็นคนที่แต่งตัวประหลาด ฉันตั้งใจจะพูดถึงว่าถ้าคุณต้องการติดกับ gEdit คุณสามารถติดตั้งปลั๊กอินเครื่องมือภายนอกที่ดีและใช้มันเพื่อเรียกใช้สคริปต์ sed บนบัฟเฟอร์
frabjous

@ tj111 - อย่าขอโทษที่ใส่ใจรายละเอียด ในสายงานของเรามันน่าเป็นห่วงถ้าคุณไม่คิดว่ามันสำคัญ :-)
Scott Smith

15

Geanyมีชุดของการค้นหาที่ดี:

ค้นหา

แทนที่:

geany แทนที่

และการค้นหาไฟล์:

geany grep

คุณสมบัติ มันไม่มีความสามารถในตัวในการบันทึกนิพจน์ทั่วไปในภายหลังแม้ว่าคุณจะสามารถเก็บไว้ในไฟล์ข้อความได้เสมอ

มันมีประวัติสำหรับการค้นหา / แทนที่ แต่จะ จำกัด เพียงหนึ่งเซสชัน


1
ง่ายกว่ามากที่จะใช้ Geany เมื่อคุณต้องการเครื่องมือแก้ไขด่วน GUI พร้อมการสนับสนุน regex แทนที่จะต้องขุดผ่านอินเทอร์เน็ตและหน้าคนเพื่อเรียนรู้ไวยากรณ์สำหรับ regexes ใน vi (m)
Alex Marshall

6

หากคุณเพียงแค่ต้องการเรียกใช้ regex กับไฟล์จำนวนมากฉันคิดว่าถึงเวลาแล้วที่คุณจะเรียนรู้เกี่ยวกับsedและawk


คุณสามารถบันทึกและแก้ไขสคริปต์ในไฟล์ด้วยsedหรือawkด้วย
pbhj

2

คุณสามารถใช้การรวมกันของ gedit และปลั๊กอินที่Advanced find / replace plugin for geditที่คุณจะพบในhttp://code.google.com/p/advanced-find/

ตั้งแต่ 2012 มีคุณสมบัติในการคั่นหน้านิพจน์เพื่อให้คุณสามารถนำมาใช้ซ้ำได้ นอกจากนี้ยังสามารถค้นหาและแทนที่ไฟล์ที่เปิดสำหรับไฟล์ในโฟลเดอร์ (พร้อมตัวกรอง) หรือภายในตัวเลือกข้อความ

เกี่ยวกับวิธีการติดตั้งคุณสามารถทำตามคำแนะนำในหน้าวิกิพีเดียของhttp://code.google.com/p/advanced-find/wiki/Installation

โดยทั่วไปสิ่งที่คุณต้องทำคือ:

  1. ดาวน์โหลดรุ่นที่ถูกต้องสำหรับ Gedit ของคุณจากhttp://code.google.com/p/advanced-find/downloads/list

  2. ขยายมัน

  3. รัน install.sh (โดยไม่มี sudo)

  4. ไปที่การตั้งค่า / ปลั๊กอินและเปิดใช้งาน

เปิดการดักจับหน้าจอของกล่องโต้ตอบการค้นหา / แทนที่ขั้นสูง


1

ฉันต้องการเพิ่มความคิดเห็นที่ชี้ไปที่คำตอบนี้แต่เนื่องจากเห็นได้ชัดว่าฉันมีชื่อเสียงไม่มากพอฉันจะคัดลอกที่นี่เป็นคำตอบของฉันเอง: RegExrเป็นเครื่องมือที่ดีที่สุดที่ฉันเคยใช้สำหรับจัดการข้อความ ใช้การแสดงออกปกติ มันจะอธิบายถึงส่วนต่าง ๆ ของ regex ให้คุณด้วย!

มันเป็นเครื่องมือออนไลน์ แต่มีรุ่นเดสก์ทอป นี้ใช้ Adobe AIR ซึ่งได้ถูกยกเลิกสำหรับ Linux ดังนั้นคุณอาจจำเป็นต้องติดตั้งที่ดีเยี่ยมดังต่อไปนี้คำแนะนำทีละขั้นตอน หลังจากนั้นให้ดาวน์โหลด.airไฟล์สำหรับหน้าเดสก์ท็อป RexExr ที่เชื่อมโยงด้านบนและคุณจะสามารถเปิดได้ด้วยโปรแกรมติดตั้ง AIR จากนั้นแก้ไขทันที!


1

ฉันประหลาดใจจริงๆไม่มีใครพูดถึง 'medit' ... การค้นหา / แทนที่มีช่องทำเครื่องหมายง่าย ๆ บอก medit ว่าเกณฑ์ที่คุณป้อนเป็นนิพจน์ regex ... สามารถเรียบง่ายหรือซับซ้อนตามที่คุณต้องการ ..


ยินดีต้อนรับสู่ AskUbuntu มันจะมีประโยชน์มากขึ้นถ้าคุณสามารถอธิบายคำตอบด้วยตัวอย่างและ / หรือภาพหน้าจอได้อย่างละเอียด
Sri

0

Atomมีฟังก์ชั่นนี้ ดาวน์โหลดและติดตั้งแพ็คเกจ "deb"

กดCTRL+ Fและคลิก.*ปุ่มเพื่อเข้าสู่โหมด regex

หรือคุณสามารถกดCTRL+ ALT+/

ยังอยู่ใน GitHub

คำถามที่เกี่ยวข้องกับการใช้ regex ใน atom

หรือคุณสามารถใช้และcatsed

ใช้sed -eเพื่อพิมพ์การเปลี่ยนแปลง ใช้sed -iเพื่อแก้ไขเนื้อหาของไฟล์

ดูที่นี่สำหรับข้อมูลเพิ่มเติม

นอกจากนี้คุณยังสามารถใช้เพื่อใช้นิพจน์ปกติด้วยegrepgrep

หากคุณเพียงแค่ต้องพบเปลี่ยนฟังก์ชั่นgeditยอมรับการแสดงออกปกติถ้าคุณกด+CTRLF

นอกจากนี้คุณยังสามารถทำนิพจน์ทั่วไปในกลุ่ม


0

Eclipseนั้นดีที่สุด แต่ก็หนักไปหน่อยสำหรับวัตถุประสงค์ การค้นพบทั้งหมดมีอยู่ในบานหน้าต่างแยกต่างหาก (โครงกระดูก) คุณสามารถกระโดดไปที่ใดก็ได้ในทันที

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