ฉันจะรวมบรรทัดใหม่ในการค้นหาได้อย่างไร


16

ฉันจะค้นหาบรรทัดใหม่ (หรือท้ายบรรทัด) เป็นส่วนหนึ่งของการค้นหาโดยใช้น้อยลงได้อย่างไร

ตัวอย่างเช่นผมต้องการที่จะค้นหาlength=9\nแต่ไม่ต้องการที่จะเป็นเพียงการค้นหาเนื่องจากว่าจะได้รับตรงกับlength==9length=90\n

ฉันใช้ GNU bash รุ่น 4.0.33 (1) - ปล่อย (x86_64-pc-linux-gnu) บน Ubuntu 9.10 (Karmic Koala)

ฉันพยายามอ่านคู่มือที่เป็นมิตร แต่ก็พูดว่า

/pattern

ค้นหาไปข้างหน้าในไฟล์สำหรับบรรทัด N-th ที่มีรูปแบบ N เป็นค่าเริ่มต้นที่ 1 รูปแบบเป็นนิพจน์ทั่วไปตามที่ได้รับการยอมรับโดยไลบรารีนิพจน์ทั่วไปที่ระบบของคุณให้มา การค้นหาเริ่มต้นที่บรรทัดที่สองที่แสดง (แต่ดูตัวเลือก -a และ -j ซึ่งเปลี่ยนสิ่งนี้)

และฉันไม่รู้วิธี RTFM เกินกว่านั้น


1
คุณอาจพบการค้นหาที่ยึดกับขอบเขตของคำเพื่อเป็นประโยชน์ /\<length=9\>จะพบ "ความยาว = 9" ที่ใดก็ได้ในบรรทัดโดยไม่จับคู่ "length = 90" หรือ "stringlength = 9" ดูman 7 regexและman grepเพิ่มเติม
หยุดชั่วคราวจนกว่าจะมีการแจ้งให้ทราบต่อไป

1
สำหรับผู้ที่มองหาคำตอบสำหรับชื่อของคำถาม: ฉันไม่เชื่อว่าคุณสามารถรวมบรรทัดใหม่ในการค้นหาได้น้อย ซึ่งหมายความว่าการค้นหาหลายบรรทัดในที่น้อยกว่าดูเหมือนจะเป็นไปไม่ได้
drevicko

คำตอบ:


11

คุณทำได้:

/pattern$

การแทนที่รูปแบบpatternแต่$ต้องอยู่มันจะบอกให้ค้นหาเพื่อค้นหารูปแบบและจากนั้นจุดสิ้นสุดของบรรทัด

ดังนั้นคุณจะทำ:

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