คำถามติดแท็ก grep

grep เป็นยูทิลิตี้ค้นหาข้อความบรรทัดคำสั่ง แต่เดิมเขียนสำหรับ Unix มันใช้การแสดงออกปกติเพื่อจับคู่ข้อความและมักจะใช้เป็นตัวกรองในท่อ ใช้แท็กนี้เฉพาะเมื่อคำถามของคุณเกี่ยวข้องกับการเขียนโปรแกรมโดยใช้ grep หรือ grep-based API คำถามที่เกี่ยวข้องกับการใช้หรือการแก้ไขปัญหาตัวเลือกบรรทัดคำสั่ง grep นั้นอยู่นอกหัวข้อ


21
วิธีการรวมทุกสองบรรทัดเป็นหนึ่งเดียวจากบรรทัดคำสั่ง?
ฉันมีไฟล์ข้อความที่มีรูปแบบดังต่อไปนี้ บรรทัดแรกคือ "KEY" และบรรทัดที่สองคือ "VALUE" KEY 4048:1736 string 3 KEY 0:1772 string 1 KEY 4192:1349 string 1 KEY 7329:2407 string 2 KEY 0:1774 string 1 ฉันต้องการค่าในบรรทัดเดียวกับคีย์ ดังนั้นผลลัพธ์ควรมีลักษณะเช่นนี้ ... KEY 4048:1736 string 3 KEY 0:1772 string 1 KEY 4192:1349 string 1 KEY 7329:2407 string 2 KEY 0:1774 string 1 มันจะดีกว่าถ้าฉันสามารถใช้ตัวคั่นบางตัวเช่น$หรือ,: KEY …
151 bash  awk  sed  grep 

5
วิธีแยกไดเรกทอรี / ไฟล์บางอย่างออกจากการค้นหา greit grep
มีวิธีในการแยกพา ธ / ไดเรกทอรี / ไฟล์บางอย่างเมื่อค้นหาที่เก็บ git git grepหรือไม่? สิ่งที่คล้ายกับ--excludeตัวเลือกในgrepคำสั่งปกติ? ฉันต้องใช้git grepเพราะการใช้งานgrepโดยตรงช้าเกินไปบนที่เก็บ git ขนาดใหญ่
144 git  grep 

7
อักขระ Grep ก่อนและหลังการแข่งขัน?
ใช้สิ่งนี้: grep -A1 -B1 "test_pattern" file จะสร้างหนึ่งบรรทัดก่อนและหลังรูปแบบที่ตรงกันในไฟล์ มีวิธีการแสดงไม่ใช่บรรทัด แต่มีจำนวนอักขระที่ระบุหรือไม่ เส้นในไฟล์ของฉันค่อนข้างใหญ่ดังนั้นฉันจึงไม่สนใจที่จะพิมพ์ทั้งบรรทัด แต่ให้สังเกตเฉพาะการจับคู่ในบริบทเท่านั้น ข้อเสนอแนะใด ๆ เกี่ยวกับวิธีการทำเช่นนี้?
144 bash  grep 


9
จะ "grep" สำหรับชื่อไฟล์แทนเนื้อหาของไฟล์ได้อย่างไร?
grep ใช้เพื่อค้นหาภายในไฟล์เพื่อดูว่าบรรทัดใดตรงกับนิพจน์ทั่วไปที่กำหนดหรือไม่ อย่างไรก็ตามฉันมีสถานการณ์นี้ - ฉันต้องการเขียนนิพจน์ทั่วไปที่ตรงกับชื่อไฟล์เอง (ไม่ใช่เนื้อหาของไฟล์) ฉันจะเรียกใช้สิ่งนี้จากไดเร็กทอรีรูทของระบบเพื่อค้นหาไฟล์ทั้งหมดที่ตรงกับนิพจน์ทั่วไป ตัวอย่างเช่นถ้าฉันต้องการค้นหาไฟล์ฟอร์ม VB ทั้งหมดที่ขึ้นต้นด้วย "f" และลงท้ายด้วย. fr ฉันจะใช้นิพจน์ทั่วไป - "f[[:alnum:]]*\.frm" grep ทำได้ไหม? ถ้าไม่มียูทิลิตี้ที่จะให้ฉันทำสิ่งนี้หรือไม่? ขอบคุณ.
141 grep 

3
รักษาสีหลังจากการ grep piping เพื่อ grep
มีคำถามเกี่ยวกับ simlar ในPreserve ls หลังจาก grep'ingแต่มันทำให้ฉันรำคาญว่าถ้าคุณใส่ grep color output ไปยัง grep ตัวอื่นที่สีนั้นไม่ได้ถูกสงวนไว้ เป็นตัวอย่างgrep --color WORD * | grep -v AVOIDไม่ให้สีของเอาท์พุทแรก แต่สำหรับฉันls | grep FILEเก็บสีทำไมถึงแตกต่าง
140 linux  bash  colors  grep  pipe 

8
ฉันจะใช้ grep เพื่อค้นหาไดเรกทอรีปัจจุบันสำหรับไฟล์ทั้งหมดที่มีสตริง“ hello” แต่แสดงเฉพาะไฟล์. h และ. cc ได้อย่างไร
ฉันจะใช้ grep เพื่อค้นหาไดเรกทอรีปัจจุบันสำหรับไฟล์ใด ๆ และทั้งหมดที่มีสตริง "hello" และแสดงเฉพาะไฟล์. h และ. cc ได้อย่างไร
138 linux  bash  unix  grep 

12
วิธีใช้ sed / grep เพื่อแยกข้อความระหว่างสองคำ?
ฉันกำลังพยายามส่งออกสตริงที่มีทุกอย่างระหว่างสองคำของสตริง: การป้อนข้อมูล: "Here is a String" เอาท์พุท: "is a" โดยใช้: sed -n '/Here/,/String/p' มีจุดสิ้นสุด แต่ฉันไม่ต้องการรวมไว้
134 string  bash  sed  grep 

11
ฉันจะค้นหารูปแบบหลายบรรทัดในไฟล์ได้อย่างไร
ฉันต้องการค้นหาไฟล์ทั้งหมดที่มีรูปแบบสตริงเฉพาะ วิธีแก้ปัญหาแรกที่นึกถึงคือการใช้find piped กับxargs grep : find . -iname '*.py' | xargs grep -e 'YOUR_PATTERN' แต่ถ้าฉันต้องการหารูปแบบที่ครอบคลุมมากกว่าหนึ่งบรรทัดฉันก็ติดขัดเพราะ vanilla grep ไม่สามารถหารูปแบบหลายเส้นได้


9
คุณค้นหาไฟล์ที่มีจุดสิ้นสุดบรรทัด dos (CRLF) ด้วย grep บน Linux ได้อย่างไร
ฉันต้องการค้นหาไฟล์ที่มีการลงท้ายบรรทัด dos ด้วย grep บน Linux สิ่งนี้: grep -IUr --color '\r\n' . ข้างต้นดูเหมือนจะตรงกับตัวอักษรrnซึ่งไม่ใช่สิ่งที่ต้องการ ผลลัพธ์ของสิ่งนี้จะถูกส่งผ่าน xargs เป็น todos เพื่อแปลง crlf เป็น lf เช่นนี้ grep -IUrl --color '^M' . | xargs -ifile fromdos 'file'
126 linux  bash  grep  newline 




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