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

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

4
วิธีแยกล็อกระหว่างการประทับเวลาสองครั้ง
ฉันต้องการแยกบันทึกทั้งหมดระหว่างการประทับเวลาสองครั้ง บางบรรทัดอาจไม่มีการประทับเวลา แต่ฉันต้องการเส้นเหล่านั้นด้วย ในระยะสั้นฉันต้องการทุกบรรทัดที่อยู่ภายใต้การประทับเวลาสองครั้ง โครงสร้างบันทึกของฉันดูเหมือนว่า: [2014-04-07 23:59:58] CheckForCallAction [ERROR] Exception caught in +CheckForCallAction :: null --Checking user-- Post [2014-04-08 00:00:03] MobileAppRequestFilter [DEBUG] Action requested checkforcall สมมติว่าผมต้องการที่จะดึงทุกอย่างระหว่างและ2014-04-07 23:002014-04-08 02:00 โปรดทราบว่าการประทับเวลาเริ่มต้นหรือการประทับเวลาสิ้นสุดอาจไม่มีอยู่ในบันทึก แต่ฉันต้องการทุกบรรทัดระหว่างการประทับเวลาสองครั้งนี้

2
Grep alias - หมายเลขบรรทัดยกเว้นว่าอยู่ในขั้นตอน
ฉันต้องการสร้างนามแฝงทุบตีสำหรับ grep ที่เพิ่มหมายเลขบรรทัด: alias grep='grep -n' แต่แน่นอนว่าจะเพิ่มหมายเลขบรรทัดในท่อเช่นกัน เวลาส่วนใหญ่ (และไม่มีข้อยกเว้นอยู่ในใจ) ฉันไม่ต้องการหมายเลขบรรทัดภายในไพพ์ไลน์ (อย่างน้อยก็ภายในก็น่าจะดีถ้ามันยังอยู่) และฉันไม่ต้องการเพิ่มเซด / awk / ตัดเข้าไป ไปป์ไลน์เพื่อนำออกไป บางทีความต้องการของฉันอาจจะง่ายขึ้น "เพียงเพิ่มหมายเลขบรรทัดหาก grep เป็นคำสั่งเดียวในบรรทัด" มีวิธีการทำเช่นนี้โดยไม่ต้องนามแฝงที่น่าเกลียดโดยเฉพาะอย่างยิ่ง?

2
ทำไม“ คำหลัก grep” ทำให้เทอร์มินัลคงอยู่ตลอดไป?
เมื่อฉันพิมพ์ "หมอ grep" ใน terminal มันก็ไม่ได้ทำอะไรหยุดขั้วจากการทำอะไรอย่างอื่นก่อนที่จะหลบหนีโดยใช้Ctrl+ หรือCZ ฉันรู้ว่านี่ไม่ใช่วิธีที่ฉันควรใช้ grep แต่แค่อยากรู้ว่าทำไมสิ่งนี้ถึงเกิดขึ้น
25 grep 

6
ฉันจะ grep สำหรับบรรทัดที่มีคำใดคำหนึ่งในสองคำ แต่ไม่ใช่ทั้งสองคำได้อย่างไร
ฉันพยายามใช้grepเพื่อแสดงเฉพาะบรรทัดที่มีคำใดคำหนึ่งในสองคำหากมีเพียงคำเดียวที่ปรากฏในบรรทัด แต่ไม่ใช่หากอยู่ในบรรทัดเดียวกัน จนถึงตอนนี้ฉันพยายามแล้ว grep pattern1 | grep pattern2 | ...แต่ไม่ได้ผลลัพธ์ที่ฉันคาดไว้
25 grep 

2
การเปลี่ยนเส้นทางเอาต์พุตของ grep ไปยัง / dev / null คืออะไร
พิจารณาบรรทัดนี้: ${libdir}/bin/licenseTool check "${SERIAL}" "${VERSION}" "${PRODUCT}" ${libdir} | grep '^200' >/dev/null อะไรคือจุดของการมองหาลวดลายในผลลัพธ์ถ้าผลลัพธ์นั้นถูกโยนทิ้งไป? และหากบรรทัดเช่นนั้นปรากฏขึ้นเป็นสิ่งสุดท้ายในสคริปต์ทุบตีค่าการออกของมันจะถูกส่งกลับไปยังผู้เรียกของสคริปต์หรือถูกละเว้น? (ฉันคาดเดาได้ว่าเราสามารถสันนิษฐานได้ว่าสิ่งนี้ทำเพื่อผลข้างเคียงเท่านั้นหรือส่งคืนบางสิ่งบางอย่างแก่ผู้โทร)

3
วิธีใช้ [\ w] + ในการแสดงออกปกติใน sed?
ฉันอยู่บน Windows แต่ฉันเดาว่าคำถามของฉันยังคงอยู่ที่นี่ C:\Users\User>grep --version GNU grep 2.6.3 C:\Users\User>sed --version GNU sed version 4.2.1 ฉันสังเกตเห็นว่างานต่อไปนี้ (การแสดงผลhere): echo here | grep -E "\w+" echo here | grep -E "[her]+" แต่สิ่งนี้ไม่ทำงาน (ไม่แสดงผลอะไร): echo here | grep -E "[\w]+" สิ่งนี้จะทำอีกครั้ง (การส่งออกhere): echo here | grep -P "[\w]+" ดังนั้น[\w]สิ่งที่เฉพาะเจาะจงกับการแสดงออกปกติ Perl ฉันคิดว่า ถูกต้องไหม งั้นมาพูดsedกัน งานนี้ …

2
tr บ่น“ ลำดับไบต์ที่ผิดกฎหมาย”
ฉันเป็นแบรนด์ใหม่สำหรับ UNIX และฉันใช้ "The Mac OS X Command Line" ของ Kirk McElhearn เพื่อสอนตัวเองด้วยคำสั่งบางอย่าง ฉันพยายามใช้trและgrepเพื่อให้ฉันสามารถค้นหาสตริงข้อความในเอกสาร MS-Office Word ปกติ $ tr '\r' '\n' < target-file | grep search-string แต่ผลตอบแทนทั้งหมดคือ: Illegal byte sequence. robomechanoid:Position-Paper-Final-Draft robertjralph$ tr '\r' '\n' < Position-Paper-Final-Version.docx | grep DeCSS tr: Illegal byte sequence robomechanoid:Position-Paper-Final-Draft robertjralph$ ฉันใช้สคริปต์บรรทัดเดียวกับที่ฉันสร้างขึ้นviและทำการค้นหาอย่างถูกต้อง

9
ฉันจะ“ grep” รูปแบบข้ามหลายบรรทัดได้อย่างไร?
ดูเหมือนว่าฉันใช้ผิดวัตถุประสงค์grep/ egrep. ฉันพยายามค้นหาสตริงในหลายบรรทัดและไม่สามารถหาคู่ที่ตรงกันในขณะที่ฉันรู้ว่าสิ่งที่ฉันกำลังมองหาควรจับคู่ แต่เดิมฉันคิดว่า regexes ของฉันผิด แต่ในที่สุดฉันก็อ่านว่าเครื่องมือเหล่านี้ทำงานต่อบรรทัด (เช่นเดียวกับ regexes ของฉันมันช่างน่ารำคาญเหลือเกิน ดังนั้นเครื่องมือใดที่จะใช้ในการค้นหารูปแบบข้ามหลายบรรทัด?

5
จะ grep สำหรับข้อความในไฟล์และแสดงย่อหน้าที่มีข้อความได้อย่างไร
ด้านล่างนี้เป็นข้อความในไฟล์: Pseudo name=Apple Code=42B state=fault Pseudo name=Prance Code=43B state=good ฉันต้องการ grep สำหรับ "42B" และรับผลลัพธ์จากข้อความข้างต้นเช่น: Pseudo name=Apple Code=42B state=fault ใครบ้างมีความคิดเกี่ยวกับวิธีการบรรลุการใช้grep/ awk/ sed?

15
'ls -1': วิธีแสดงรายการชื่อไฟล์ที่ไม่มีส่วนขยาย
ls -1 แสดงรายการองค์ประกอบของฉันเช่น: foo.png bar.png foobar.png ... ฉันต้องการมันอยู่ในรายการโดยไม่.pngชอบ: foo bar foobar ... (dir มี.pngไฟล์เท่านั้น) ใครสามารถบอกวิธีใช้grepในกรณีนี้ได้บ้าง จุดประสงค์: ฉันมีไฟล์ข้อความที่มีรายชื่อทั้งหมดโดยไม่มีนามสกุล ฉันต้องการสร้างสคริปต์ที่เปรียบเทียบไฟล์ข้อความกับโฟลเดอร์เพื่อดูว่าไฟล์ใดหายไป
24 shell  grep  ls 

3
คำสั่งเทียบเท่ากับ grep ไฟล์ไบนารี
ฉันมีเครือข่ายมากมายและฉันรู้ว่าภายในไบนารีเหล่านี้มีสตริงที่ฉันต้องการค้นหา ฉันต้องการที่จะทำ: grep -lir "the string I am looking for" และรับรายการไบนารีทั้งหมดภายในไดเรกทอรีเฉพาะที่มีสตริงนั้น แต่grep -lirดูเหมือนจะไม่ทำงานกับไฟล์เหล่านี้ มีคำสั่งที่สามารถทำการค้นหาชนิดนี้จากเทอร์มินัลหรือไม่
24 grep 

6
Regex สำหรับคำ 10 ตัวอักษรทั้งหมดด้วยตัวอักษรที่ไม่ซ้ำกัน
ฉันพยายามเขียน regex ที่จะแสดงคำทั้งหมดที่มีความยาว 10 ตัวอักษรและไม่มีตัวอักษรซ้ำ จนถึงตอนนี้ฉันได้รับ grep --colour -Eow '(\w{10})' ซึ่งเป็นส่วนแรกของคำถาม ฉันจะตรวจสอบหา "เอกลักษณ์" ได้อย่างไร ฉันไม่มีเบาะแสนอกเหนือจากนั้นฉันต้องใช้การอ้างอิงกลับ

1
ส่งคำค้นหา (ไม่ใช่ชื่อไฟล์) ไปที่ grep
ฉันต้องการที่จะเลือกสายบางอย่างที่มีจำนวนที่กำหนดจากไฟล์ os_clusters/piRNA_clusters.bedไฟล์ที่ฉันต้องการที่จะค้นหาที่เรียกว่า awk '{if (a[$0]++ == 0) {split($0,b,"."); ;split(b[1],c,"r"); print c[3]}};' test_non_enriched | xargs grep {} os_clusters/piRNA_clusters.bed ส่วนแรกก่อนไปป์ไลน์มันจะสร้างคำที่ต้องการค้นหาเช่น 8707, 8824 เป็นต้นอย่างไรก็ตามส่วนหลังไม่มี awk '' ... | xargs grep {} os_clusters/piRNA_clusters.bed แทนที่จะค้นหาไฟล์เป้าหมายสำหรับคำที่สร้างโดยไพพ์มันจะพิจารณาคำค้นหาเป็นไฟล์อินพุต ดังนั้นฉันได้รับข้อความผิดพลาดเช่น: grep: 8707: No such file or directory grep: 8824: No such file or directory ฉันต้องเปลี่ยนอะไรเพื่อค้นหาไฟล์os_clusters/piRNA_clusters.bedสำหรับคำที่สร้างโดยไพพ์
23 bash  grep  pipe 

5
การเพิ่มตัวเลขจากผลลัพธ์ของ grep
ฉันเรียกใช้คำสั่งต่อไปนี้: grep -o "[0-9] errors" verification_report_3.txt | awk '{print $1}' และฉันได้รับผลลัพธ์ต่อไปนี้: 1 4 0 8 ฉันต้องการเพิ่มตัวเลขแต่ละตัวให้เป็นตัวแปรนับที่รันอยู่ มีเวทมนต์ที่ใครบางคนสามารถช่วยฉันสร้างได้หรือไม่?
23 bash  shell  grep 


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