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

grep เป็นยูทิลิตีบรรทัดคำสั่ง Unix ที่ค้นหาอินพุตสำหรับการจับคู่บรรทัด (หรือไม่) นิพจน์ทั่วไปและพิมพ์ผลลัพธ์ ใช้แท็กนี้สำหรับคำถามเกี่ยวกับวิธีการใช้คุณสมบัติ grep วิธีการเขียนนิพจน์ทั่วไปที่ทำงานกับ grep และการใช้งานทั่วไป เนื่องจาก grep พร้อมใช้งานในสภาพแวดล้อมคล้าย Unix (เช่น Cygwin บน Windows) คุณจึงสามารถใช้แท็กนี้สำหรับคำถามที่เข้ากันได้และความแตกต่างระหว่างรุ่นและสภาพแวดล้อมของซอฟต์แวร์

5
รับผลลัพธ์ที่มีสีเมื่อใช้ไพพ์จาก grep ถึงน้อย
ฉันใช้ - สีตัวเลือกของ grep มาก แต่ฉันก็ใช้น้อยกว่าเช่นกัน ฉันจะส่งผล grep ไปยังน้อยลงและยังคงรักษาสี (หรือว่าเป็นไปได้?) grep "search-string" -R * --colour | less แก้ไข : ฉันกำลังมองหาวิธีการแก้ปัญหาโดยตรงหรืออะไรก็ตามที่เทียบเท่ากับนี้
246 colors  grep  pipe  less 

13
Grep เทียบเท่าสำหรับ Windows 7?
grepพรอมต์คำสั่งเทียบเท่าสำหรับ Windows 7 หรือไม่ นั่นคือฉันต้องการกรองผลลัพธ์ของคำสั่ง: ใช้ทุบตี: ls | grep root มันจะเป็นอะไรจากพรอมต์คำสั่งของ Windows
241 windows-7  grep  cmd.exe 

3
การใช้นาฬิกากับท่อ
ฉันต้องการเรียกใช้คำสั่งนี้: watch -n 1 tail -n 200 log/site_dev.log | grep Doctrine แต่มันไม่ทำงานเพราะ "ฉันคิดว่า" grep พยายามวิ่งบนนาฬิกาแทนที่จะเป็นหาง ... มีวิธีทำอะไรบ้างไหม watch -n 1 (tail -n 200 log/site_dev.log | grep Doctrine) ขอบคุณมาก!
179 bash  grep  tail  watch 

8
grep เพื่อค้นหาไฟล์ที่มี ^ M (Windows carriage return)
ฉันใช้ Linux มี pesky ^ M (Windows cariage return) อยู่ที่ไหนสักแห่งที่ซ่อนอยู่ในไฟล์การกำหนดค่าหลายพันไฟล์และฉันต้องหามันเพราะมันทำให้เซิร์ฟเวอร์ล้มเหลว ฉันจะค้นหา ^ M ในลำดับชั้นไดเรกทอรีที่เต็มไปด้วยไฟล์การกำหนดค่าได้อย่างไร ฉันคิดว่าฉันไม่สามารถป้อน ^ M บนบรรทัดคำสั่ง bash แต่ฉันมีมันในไฟล์ข้อความที่เรียกว่า m.txt
72 grep 

6
วิธีค้นหาสถานะการออนไลน์ของกระบวนการ linux
ฉันจะค้นหาสถานะการออนไลน์ของกระบวนการ linux ที่ระบุได้อย่างไร ps aux | grep gedit | grep -v grep ให้ข้อมูลกับฉันมากมายซึ่งรวมถึงเวลาที่กระบวนการเริ่มต้น ฉันกำลังมองหาสวิตช์โดยเฉพาะซึ่งจะคืนค่าสถานะการออนไลน์ของกระบวนการเป็นมิลลิวินาที ขอบคุณ
69 linux  process  grep  uptime 


4
ฟังก์ชั่นเสมือนจริงสำหรับ Notepad ++?
ฉันต้องการฟังก์ชั่น grep คล้าย ๆ กันใน Notepad ++ ในรุ่นที่ง่ายที่สุดฉันต้องการคัดลอกบรรทัดทั้งหมดจากบัฟเฟอร์ปัจจุบันที่มีคำfooไปยังบัฟเฟอร์ใหม่ ฉันสามารถใช้ปลั๊กอิน TextFX เพื่อซ่อนทุกบรรทัดที่ไม่มีfooแต่นั่นไม่ได้ทำทุกอย่างที่ฉันต้องการ (มันหายไปAlt- Tabฉันไม่สามารถคัดลอกเฉพาะบรรทัดที่ตรงกัน ฯลฯ )
52 notepad++  grep 

18
ตรวจสอบไฟล์จนกว่าจะพบสตริง
ฉันใช้ tail -f เพื่อตรวจสอบล็อกไฟล์ที่กำลังเขียนอยู่ เมื่อมีการเขียนสตริงที่แน่นอนไปยังล็อกไฟล์ฉันต้องการออกจากการตรวจสอบและดำเนินการต่อกับสคริปต์ที่เหลือ ขณะนี้ฉันกำลังใช้: tail -f logfile.log | grep -m 1 "Server Started" เมื่อพบสตริง grep จะหยุดทำงานตามที่คาดไว้ แต่ฉันต้องการค้นหาวิธีที่จะทำให้คำสั่ง tail หยุดทำงานเช่นกัน
49 bash  grep  tail  logfiles 

6
grep แบบเรียกซ้ำ: ยกเว้นไดเรกทอรีที่เฉพาะเจาะจง
ฉันใช้ grep แบบเรียกซ้ำจำนวนมากเพื่อค้นหาไฟล์ต้นฉบับที่มีเนื้อหาเฉพาะ grep -Rni "myfunc" . บนฐานโค้ดขนาดใหญ่สิ่งนี้อาจช้าได้ดังนั้นฉันใช้ --incldue เพื่อ จำกัด / ส่วนขยายรายการที่อนุญาต grep -Rni --include=*.java "myfunc" . อย่างไรก็ตามมันจะมีประสิทธิภาพมากกว่าที่จะยกเว้นไดเรกทอรีย่อยทั้งหมด (พรุน) ฉันคิดว่า: grep -Rni --exclude=/.svn/ "myfunc" . แต่ --exclude รองรับเฉพาะรูปแบบไฟล์เช่น * .java ด้านบน ฉันจะยกเว้นไดเรกทอรีได้อย่างไร

3
GNU Grep สามารถส่งออกกลุ่มที่เลือกได้หรือไม่?
เป็นไปได้ไหมที่จะใช้ GNU grep เพื่อรับกลุ่มที่ตรงกันจากนิพจน์ ตัวอย่าง: echo "foo 'bar'" | grep -oE "'([^']+)'" อันไหนจะเอาท์พุท "'บาร์'" แต่ฉันต้องการเพียงแค่ "บาร์" โดยไม่ต้องส่งผ่าน grep อีกครั้ง (เช่น. รับกลุ่มที่ตรงกัน) เป็นไปได้ไหม
47 linux  grep 

4
Powershell เทียบเท่า `grep -r -l` (- ไฟล์ที่มีการแข่งขัน)
ใน Powershell ฉันจะแสดงรายการไฟล์ทั้งหมดในไดเรกทอรี (วนซ้ำ) ที่มีข้อความที่ตรงกับ regex ที่กำหนดได้อย่างไร ไฟล์ที่สงสัยนั้นมีข้อความที่เข้าใจยากยาวมากดังนั้นฉันไม่ต้องการเห็นบรรทัดที่ตรงกัน - เพียงชื่อไฟล์
44 powershell  grep 

5
grep: แสดงผลลัพธ์ทั้งหมด แต่ไฮไลต์ตรงกับการค้นหา
ใน bash หากฉันต้องการรันคำสั่งและแสดงเฉพาะบรรทัดเอาต์พุตที่ตรงกับรูปแบบที่กำหนดฉันสามารถไพพ์ไปที่grepเช่น ไฟล์ testfile hello there my friends คำสั่ง $ cat testfile | grep 'hello' hello #this will be highlightd นี่จะเน้นการจับคู่การค้นหาและแสดงทั้งบรรทัดที่ตรงกับ ฉันสามารถใช้-Aและ-Bเพื่อแสดงบรรทัดก่อนและหลังบรรทัดนั้น คำถามของฉันเป็นไปได้หรือไม่ที่จะรันคำสั่งและแสดงเอาต์พุตทั้งหมดตามปกติ แต่เพื่อเน้นการค้นหาที่ตรงกันอย่าง grep ดังนั้น ouput ของฉันจะเป็น hello #highlighted there my friends

3
ฉันจะ "grep" กรองชื่อซ้ำของไฟล์ที่ต้องการด้วย wildcard ได้อย่างไร
เมื่อฉันต้องการทำการค้นหา grep ซ้ำในไดเรกทอรีปัจจุบันฉันมักจะทำ: grep -ir "string" . แต่คำสั่งนั้นจะค้นหาไฟล์ทุกชนิดรวมถึงไฟล์ไบนารี่ (รูปภาพ, เสียง, วิดีโอ, ฯลฯ ... ) ซึ่งส่งผลให้กระบวนการค้นหาช้ามาก ถ้าฉันทำสิ่งนี้มันจะไม่ทำงาน: grep -ir "string" *.php ใช้งานไม่ได้เนื่องจากไม่มีไฟล์ PHP อยู่ในไดเรกทอรีปัจจุบัน แต่ภายในไดเรกทอรีย่อยบางส่วนในไดเรกทอรีปัจจุบันและชื่อของไดเรกทอรีย่อยไม่ได้ลงท้ายด้วย ".php" ดังนั้น grep จึงไม่ดูข้างใน ดังนั้นฉันจะค้นหาแบบเรียกซ้ำจากไดเรกทอรีปัจจุบัน แต่ยังระบุสัญลักษณ์แทนชื่อไฟล์ได้อย่างไร (เช่น: ค้นหาเฉพาะไฟล์ที่ลงท้ายด้วยนามสกุลเฉพาะ)

1
ฉันจะ grep ด้วยสีใน terminal ของ Mac OS X ได้อย่างไร?
ฉันเพิ่งพบว่าใน Mac OS XI สามารถตั้งค่านี้ในเปลือกของฉัน~/.profileดังนั้นเมื่อฉันใช้grepมันจะพิมพ์การจับคู่สี (สีขาวสีแดงหนึ่ง) alias grep='GREP_COLOR="1;37;41" LANG=C grep --color=auto' แต่การตั้งค่านามแฝงดูเหมือนจะเป็นวิธีแฮ็คที่ทำสิ่งนี้ ก่อนหน้านี้ฉันได้ลองโดยไม่มีโชค: export GREP_COLOR=always # works fine in Linux จากนั้นฉันก็ลอง: export GREP_COLOR="1;37;41" มีวิธีที่ดีกว่าในการทำสิ่งนี้มากกว่าตั้งค่านามแฝง
39 macos  mac  terminal  grep  console 

12
ฉันสามารถใช้นิพจน์ทั่วไปเพื่อจับคู่ที่อยู่ IP ได้อย่างไร
ด้วยgrepไวยากรณ์ต่อไปนี้ฉันต้องการจับคู่ที่อยู่ IP ทั้งหมดในไฟล์ (จากkshสคริปต์) grep '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' file ปัญหา: มันตรงกับคำ (IP) ที่มีมากกว่า 4 octets: 1.1.1.1.1 หรือ 192.1.1.1.160 ฉันจะจับคู่IP ที่ถูกต้องและที่อยู่ IP กับ 4 octets ได้อย่างไร ฉันยังสามารถใช้ Perl - โซลูชันไวยากรณ์หนึ่งบรรทัดถ้าgrepไม่ทำงาน
35 regex  grep  ip-address 

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