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

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

5
กำลังเขียนเอาต์พุต“ tail -f” ไปยังไฟล์อื่น
เป็นการต่อเนื่องจากโพสต์ล่าสุดของฉันที่ฉันได้ใช้grep & tail -fเพื่อค้นหาเหตุการณ์ "หายาก" ที่เกิดขึ้น ฉันต้องการบันทึกสิ่งนี้ในไฟล์อื่น ฉันได้ลองเลี้ยว tail -f log.txt | egrep 'WARN|ERROR' เข้าไป tail -f log.txt | egrep 'WARN|ERROR' | tee filtered_output.txt ไฟล์ถูกสร้างขึ้น แต่ไม่มีสิ่งใดบรรจุอยู่นี่เป็นปัญหาการแคชหรือไม่? ฉันจะได้รับการต่อท้ายผลลัพธ์ของหางของฉันไปยังไฟล์ใหม่ได้อย่างไร
34 bash  cygwin  grep  logging 

3
คำสั่ง find / grep โดยไม่ต้องค้นหาการแชร์ที่เมาท์
เมื่อฉันใช้คำสั่ง find ฉันเกือบจะต้องค้นหาไดรฟ์ในเครื่องเสมอ แต่ฉันมักจะมีการแชร์เครือข่ายขนาดใหญ่เป็นพิเศษและสิ่งเหล่านี้รวมอยู่ในการค้นหา มีวิธีง่าย ๆ ในการแยกคำสั่งเหล่านั้นในคำสั่ง find, grep และคำสั่งอื่นที่คล้ายคลึงกันหรือไม่? ตัวอย่าง: ค้นหา / -name .vimrc
34 linux  find  grep 

3
วิธีใช้ 'sed' กับ piping
ฉันต้องการแทนที่สตริงที่ส่งออกจากgrepฉันมี: $ npm info webpack | grep version มันเอาท์พุทฉัน $ version: '2.1.0-beta.12', แต่ฉันต้องการ: $ 2.1.0-beta.12 ดังนั้นฉันคิดว่าฉันอาจประสบความสำเร็จในการใช้sedและแทนที่วัสดุพิมพ์ที่ไม่จำเป็น แต่นี่เป็นส่วนที่ยากสำหรับฉัน: $ npm info webpack | grep version: | sed s/version: / sed: -e expression #1, char 10: unterminated `s' command จะบรรลุเป้าหมายได้อย่างไร
34 bash  grep  sed 

3
การนับจำนวนการแข่งขันทั้งหมดด้วย grep แทนที่จะเป็นจำนวนการแข่งขันที่ตรงกัน
grep เสนอวิธีในการนับจำนวนการแข่งขันทั้งหมดที่มันทำหรือไม่? อ็อพชัน -c ส่งคืนจำนวนบรรทัดที่ตรงกับ regex เท่านั้น แต่ในกรณีนี้ฉันมีการจับคู่หลายรายการต่อบรรทัด

4
grep สำหรับ“ คำศัพท์” และไม่รวม“ คำอื่น”
ฉันพยายามสร้างการค้นหา grep ที่ค้นหาคำ แต่ไม่รวมบรรทัดที่มีคำที่สอง ฉันต้องการใช้หลาย-e "pattern"ตัวเลือก แต่ไม่ได้ผล นี่คือตัวอย่างของคำสั่งที่ฉันลองและข้อความแสดงข้อผิดพลาดที่สร้างขึ้น grep -i -E "search term" -ev "exclude term" grep: exclude term: No such file or directory ฉันเห็นว่ามัน-vใช้ได้กับคำ / รูปแบบการค้นหาทั้งหมด เช่นนี้ทำงาน แต่ไม่รวมsearch termอยู่ในผลลัพธ์ grep -i -E "search term" -ve "exclude term"
28 linux  bash  search  grep 

7
ไม่รวม grep จากรายการกระบวนการ
ฉันได้คำสั่ง cobbled ร่วมกันเพื่อกลับ ID กระบวนการของ daemon ทำงาน: ps aux | grep daemon_name | awk "{ print \$2 }" มันทำงานได้อย่างสมบูรณ์และคืนค่า PID แต่ก็คืนค่า PID ที่สองซึ่งน่าจะเป็นกระบวนการที่ฉันใช้อยู่ตอนนี้ มีวิธีที่ฉันสามารถแยกคำสั่งของฉันออกจากรายการ PID ที่ส่งคืนหรือไม่ ฉันทดสอบมันสองสามครั้งและดูเหมือนว่าคำสั่งของฉันจะเป็น PID ตัวที่สองเสมอในรายการ แต่ฉันไม่ต้องการคว้า PID ตัวแรกในกรณีที่มันไม่ถูกต้อง
27 grep  ps  pid 

1
รวมหาง -f กับ grep หรือไม่
สวัสดีฉันอยากดูไฟล์บันทึกต่อไป แต่ฉันก็ไม่อยากเห็นสิ่งที่ไม่เกี่ยวข้องฉันแค่สนใจอะไรก็ตามที่มี "foobar" อยู่ในนั้น ดังนั้นถ้าฉันปรับแต่งไฟล์ฉันจะทำ tail file | grep "foobar" ตอนนี้ฉันเพิ่มตัวเลือก -f แล้วมีวิธีที่จะแสดงเฉพาะสิ่งที่ฉันต้องการหรือไม่? ใช้ grep หรือเทคนิคอื่น ๆ
26 linux  grep  tail 


5
เครื่องมือ Grep สำหรับ XML [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ใช้ขั้นสูง ปิดให้บริการใน4 ปีที่แล้ว ฉันกำลังมองหาเครื่องมือที่ดีในการดำเนินการคล้ายกับ grep บน XML - ตัวอย่างเช่นแยกคุณลักษณะบางอย่างเท่านั้น Grep ตัวเองไม่สามารถจัดการได้ - เครื่องมือใด ๆ ที่เทียบเท่ากับ DFA สามารถจัดการแข่งขันที่ไม่ซ้ำแบบซ้ำได้และของฉันอาจซ้ำได้ ฉันได้ลองxgrepแล้ว แต่มันค่อนข้างไม่เสถียรและฉันต้องการเครื่องมือที่เสถียรและเชื่อถือได้ คำแนะนำใด ๆ แก้ไข: ฉันชอบเครื่องมือโอเพนซอร์สที่ทำงานได้ดีภายใต้ Linux
22 automation  grep  xml  regex 

3
วิธี grep ไฟล์บันทึกภายในช่วงเวลาที่กำหนด
ฉันมีไฟล์บันทึกแต่ละบรรทัดในบันทึกจะมีวันที่เตรียมดังนี้: 2012-03-06 11:34:48,657 blah blah blah... ฉันจะgrepไฟล์นี้และรับเฉพาะสายจาก 08:00 ถึง 23:00 เท่านั้นได้อย่างไร ความตั้งใจของฉันคือฉันต้องการนับจำนวนข้อผิดพลาดที่เกิดขึ้นภายใน 8.00 น. ถึง 23.00 น.
22 grep 

3
วิธีการป้องกันรหัสผ่านหรือข้อมูลที่ละเอียดอ่อนอื่น ๆ จากการถูกเก็บไว้ในประวัติทุบตีเมื่อใช้ grep?
ฉันต้อง grep เมื่อเร็ว ๆ นี้สำหรับรหัสผ่านที่อาจถูกบันทึกไว้ในไฟล์ ฉันไม่ต้องการให้บรรทัดนั้นปรากฏในประวัติทุบตี ฉันจะป้องกันรหัสผ่านหรือข้อมูลที่ละเอียดอ่อนอื่น ๆ จากการถูกเก็บไว้ในประวัติทุบตีเมื่อใช้ grep ได้อย่างไร? ตัวอย่างเช่นฉันจะได้รับ grep เพื่ออ่านรูปแบบจาก stdin หรือคอนโซลได้อย่างไร
21 bash  grep 

3
ใน Unix“ น้อยกว่า” ฉันสามารถข้ามไปยังบรรทัดถัดไปที่ไม่มี X ได้หรือไม่?
ใน Unix lessเครื่องมือก็เป็นไปได้ที่จะข้ามไปยังบรรทัดถัดไปที่ไม่ได้มีการแสดงออกบางอย่าง? บางครั้งฉันต้องตรวจสอบไฟล์ที่มีบรรทัดที่อยู่ติดกันหลายพันเส้นซึ่งตัวอย่างเช่นทุกคนพูดว่า "การคำนวณบางอย่าง " และฉันสนใจในบรรทัดถัดไปหลังจากบล็อกปัจจุบันซึ่งไม่มีคำว่า "คอมพิวเตอร์"
21 unix  grep  less 

17
แสดงรายการเฉพาะชื่ออุปกรณ์ของอินเทอร์เฟซเครือข่ายที่มีทั้งหมด
ฉันต้องการรับรายการ Network-Device Names ที่มีอยู่ทั้งหมดบนเซิร์ฟเวอร์ Linux ของฉัน ฉันคิดว่า ifconfig จะทำงานอย่างไรก็ตาม ifconfig สร้างผลลัพธ์ค่อนข้างมาก: eth0 Link encap:Ethernet Hardware Adresse 08:00:27:fc:5c:98 inet Adresse:192.168.2.222 Bcast:192.168.2.255 Maske:255.255.255.0 inet6-Adresse: fe80::a00:27ff:fefc:5c98/64 Gültigkeitsbereich:Verbindung UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1 RX packets:329 errors:0 dropped:0 overruns:0 frame:0 TX packets:177 errors:0 dropped:0 overruns:0 carrier:0 Kollisionen:0 Sendewarteschlangenlänge:1000 RX bytes:41496 (40.5 KiB) TX bytes:32503 …
20 linux  networking  grep  sed  cat 

7
ข้อดีของไฟล์ cat'ing และ piping ถึง grep
มีข้อดีเพิ่มเติมของการ cat'ing ไฟล์และ pip ​​ไปยัง grep นอกเหนือจากความสะดวกสบายแล้วหรือยัง? ความสะดวกสบายคือเมื่อฉันดึงคำสั่งเช่นที่ด้านล่างจากประวัติของฉันเคอร์เซอร์อยู่ที่ท้ายบรรทัดดังนั้นจึงง่ายต่อการแก้ไขคำสั่งด้วยข้อความที่แตกต่างเพื่อ grep เทียบกับไฟล์เดียวกัน ดังนั้นข้อดีอื่น ๆ ของการประชุมต่อไปนี้: cat /var/tmp/trace.2043925204.xt | grep -in profile cat /var/tmp/trace.2043925204.xt | grep -n Profile-Main แทน: grep -in profile /var/tmp/trace.2043925204.xt grep -n Profile-Main /var/tmp/trace.2043925204.xt

1
Ubuntu Linux: ค้นหาไฟล์ระหว่างเวลาที่ระบุใช่หรือไม่
ฉันพบชื่อ SO แล้ว ใช้ Find / Grep เพื่อค้นหาไฟล์ระหว่างเวลาที่กำหนดของวัน ขึ้นอยู่กับว่าและ Unix SE เรียกว่า คำสั่ง Grep เพื่อค้นหาไฟล์ที่มีสตริงข้อความและย้ายไฟล์เหล่านั้น ฉันลงเอยด้วย: find . -type f -mtime -20 | grep -v -e " \(0[012345]\|18\|19\|2[0123]\)" | xargs mv -t daytime/ แต่มันกำลังเคลื่อนย้ายไฟล์ทั้งหมด มันสร้างความแตกต่างที่ฉันใช้กับ Ubuntu หรือไม่? สิ่งที่ฉันต้องการจะทำคือย้ายไฟล์ทั้งหมดระหว่าง 6.00 น. ถึง 18.00 น. ไปยังไดเรกทอรีอื่น ข้อเสนอแนะใด ๆ ที่จะได้รับการชื่นชม
17 linux  ubuntu  grep  find 

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