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

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

5
Ubuntu grep, ค้นหา ฯลฯ :“ การอนุญาตถูกปฏิเสธ” และ“ ไม่มีไฟล์หรือไดเรคทอรี” เอาท์พุท
เมื่อฉันใช้งานgrepหรือfindฉันมักจะรู้สึกรำคาญกับคำว่า "การอนุญาตที่ถูกปฏิเสธ" และ "ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว" บางอย่างเช่นนี้: johndoe@johndoe-desktop:/$ grep -rnP 'YII_CORE_PATH' ./ | grep -v .svn grep: ./lib/ufw/user6.rules: Permission denied grep: ./lib/ufw/user.rules: Permission denied grep: ./lib/init/rw/udev/watch/27: No such file or directory grep: ./lib/init/rw/udev/watch/26: No such file or directory grep: ./lib/init/rw/udev/watch/25: No such file or directory ฉันจะหลีกเลี่ยงพวกเขาและทำให้มันดังนั้นฉันเห็นเฉพาะข้อมูลที่เกี่ยวข้องเช่นสิ่งที่ฉันกำลังมองหาจริงๆ?
17 linux  bash  ubuntu  find  grep 

3
วิธีการรวมค้นหาและ grep สำหรับการค้นหาที่ซับซ้อน? (GNU / linux, find, grep)
ฉันพยายามค้นหาข้อความในไฟล์บางไฟล์ที่ใช้โครงสร้างไดเรกทอรีร่วมกัน แต่ไม่ได้อยู่ในแผนผังไดเรกทอรีเดียวกันใน GNU / Linux ฉันมีเว็บเซิร์ฟเวอร์ที่มีหลาย ๆ ไซต์ที่ใช้โครงสร้างแบบต้นไม้เดียวกัน (Code Igniter MVC PHP framework) ดังนั้นฉันต้องการค้นหาในไดเรกทอรีที่เฉพาะเจาะจงลงบนต้นไม้สำหรับแต่ละไซต์ตัวอย่าง: /srv/www/*/htdocs/system/application/ โดยที่ * เป็นชื่อไซต์ และจากไดเรกทอรีแอปพลิเคชันเหล่านั้นฉันต้องการค้นหาทรีทั้งหมดลงไปที่ใบไม้เพื่อหาไฟล์ * .php ที่มีรูปแบบข้อความอยู่ข้างในสมมติว่า "debug (" ไม่ต้องใช้นิพจน์ทั่วไป ฉันรู้วิธีใช้findและgrepแต่ฉันไม่เก่งในการรวมเข้าด้วยกัน ฉันจะทำสิ่งนี้ได้อย่างไร ขอบคุณล่วงหน้า!
17 linux  command-line  find  grep  gnu 

2
แก้ไขบรรทัดแรกของไฟล์ข้อความขนาดใหญ่
ฉันมีไฟล์ข้อความขนาดใหญ่มากเกินไปที่จะทำเพจทั้งหมดในหน่วยความจำ สิ่งที่ฉันต้องทำเกี่ยวกับไฟล์ข้อความนี้คือแก้ไขบรรทัดแรก (เป็นไฟล์ CSV และฉันต้องเปลี่ยนชื่อ) มีวิธีง่ายๆที่ฉันสามารถทำได้ในทุบตี?
16 linux  bash  grep  sed  textfiles 


6
วิธีแสดงรายการไฟล์ต้นฉบับทั้งหมด (* .c, * .cpp, * .h)
ฉันต้องการหาไฟล์ต้นฉบับ (* .c, * .cpp, * .h) ที่มีใน Linux / MinGW / Cygwin และเรียกซ้ำในไดเรกทอรีย่อยทั้งหมด พื้นฐานความคิดของฉันคือการใช้และfind grepอย่างไรก็ตามการสร้างนิพจน์ทั่วไปที่สามารถตรวจสอบชื่อไฟล์ที่กำหนดคือ * .c, * .cpp หรือ * .h นั้นไม่ใช่เรื่องง่าย คุณช่วยฉันออก
15 find  grep  regex 


4
เครื่องมือเลือก CSS บรรทัดคำสั่ง
คำถาม เครื่องมือใด (เด่นกว่าสำหรับ Linux) สามารถเลือกเนื้อหาขององค์ประกอบ HTML ตามเส้นทาง CSS ตัวอย่าง ตัวอย่างเช่นพิจารณาเอกสาร HTML ต่อไปนี้: <html> <body> <div class="header"> <h1>Header</h1> </div> <div class="content"> <table> <tbody> <tr><td class="data">Tabular Content 1</td></tr> <tr><td class="data">Tabular Content 2</td></tr> </tbody> </table> </div> <div class="footer"> <p>Footer</p> </div> </body> </html> โปรแกรมบรรทัดคำสั่งใด (เช่นชนิด "cssgrep") สามารถแยกค่าโดยใช้ตัวเลือก CSS นั่นคือ: cssgrep page.html "body > div.content …
15 command-line  html  grep  web  css 

2
ฉันจะไพพ์เอาต์พุตจนถึงวันที่ -d“ value” ได้อย่างไร?
ฉันมีวันที่ "2014-01-30 05:04:27 GMT" และถ้าฉันเรียกใช้วันที่ -d "2014-01-30 05:04:27 GMT" ผลลัพธ์จะอยู่ในเขตเวลาของเซิร์ฟเวอร์ของฉัน ("พฤหัสบดี 30 มกราคม 16:04:27 EST 2014 ") ด้วยการใช้ grep และ cut ฉันได้แยกวันที่ในไฟล์ GMT ออกจากไฟล์ อย่างไรก็ตามฉันกำลังดิ้นรนเพื่อแปลงสิ่งนี้เป็นเวลาท้องถิ่นของฉัน ตัวอย่างเช่น: [user @ server log] # grep "something" logfile.txt | grep "สำเร็จแล้ว" | ตัด -f1 -d '[' เอาท์พุท: 2014-01-30 05:04:27 GMT สิ่งที่ฉันสามารถเพิ่มในตอนท้ายเพื่อส่งออกไปที่ "date -d"? พยายาม: …
15 linux  bash  grep  pipe  date 

2
วิธีการใช้ grep บน Linux เพื่อรายงานอย่างละเอียดว่าสตริงนั้นมีอยู่ในไฟล์หรือไม่?
ฉันต้องการทราบว่าack_enabled not definedมีอยู่ในไฟล์ที่เฉพาะเจาะจงall_defs.txtและส่งคืนบางสิ่งซึ่งฉันสามารถเข้าใจได้ว่าสตริงนั้นมีอยู่หรือไม่ ใครช่วยบอกฉันถึงวิธีการทำเช่นนี้?
14 linux  grep 

4
ฉันจะ grep เฉพาะบางไฟล์ในไดเรกทอรีซ้ำได้อย่างไร
ฉันใหม่เพื่อ linux และ grep และพยายามหาทางของฉัน โดยใช้find -name *.javaฉันสามารถค้นหาชื่อของไฟล์ java ทั้งหมดในไดเรกทอรีเฉพาะ สมมติว่าฉันต้องการนับจำนวนครั้งที่fooเกิดขึ้นในไฟล์เหล่านี้ฉันจะทำอย่างไร ฉันพยายามทำสิ่งต่าง ๆ เช่น: grep -r "foo" *.java และได้รับคำตอบเช่น: grep: *.java: No such file or directory ความคิดใด ๆ
14 linux  unix  grep 

2
การค้นหาและลบบรรทัดจากไฟล์ทั้งหมดแบบเรียกซ้ำ
ฉันจัดการเพื่อ grep ที่เกิดขึ้นของคำหลักโดยใช้ grep "KeyWord" . -r -n -i -I แต่การเกิดขึ้นของ KeyWord นั้นใหญ่เกินไป ฉันแค่ต้องการลบบรรทัดทั้งหมดที่มีคำนั้น ฉันค้นหาไปรอบ ๆ sed ดูเหมือนจะเป็นอรรถประโยชน์ ใครสามารถบอกฉันว่าคำสั่งจะทำเคล็ดลับหรือไม่ ขอบคุณ
14 grep  sed 

3
วิธีที่ดีกว่าในการทำ“ echo $ x | sed …” และ“ echo $ x | grep …”
ฉันมักจะพบสิ่งนี้ในสคริปต์ (และฉันต้องยอมรับเขียนด้วยตัวเอง): a=$(echo "$x" | sed "s/foo/bar/") หรือ if echo "$x" | grep -q foo then ... fi พิจารณา "foo" เพื่อรวมบางสิ่งที่ regex ฉันรู้สึกว่าควรจะมี - และเป็นไปได้มากที่สุด- เป็นวิธีที่ดีกว่าในการพูดสิ่งนี้สิ่งหนึ่งที่ไม่เกี่ยวข้องกับคำสั่งสองคำสั่งและไปป์ แต่ห่อสิ่งต่างๆ ฉันหามันไม่เจอ ใคร?
14 shell  grep  sed 

7
Unicode grep สำหรับ Windows [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับผู้ใช้ขั้นสูง ปิดให้บริการใน4 ปีที่แล้ว มีgrep ที่รับรู้ Unicode สำหรับ Windows 32 บิตหรือไม่
13 windows  grep  unicode 

2
คุณจะค้นหาข้อความเฉพาะในประเภทไฟล์ที่ต้องการได้อย่างไร [ซ้ำ]
คำถามนี้มีคำตอบอยู่ที่นี่แล้ว : ปิดให้บริการใน8 ปีที่ผ่านมา ซ้ำเป็นไปได้: ฉันจะ grep ในไฟล์ต้นฉบับสำหรับข้อความได้อย่างไร คำสั่งในการค้นหาข้อความที่ระบุในประเภทไฟล์ที่เฉพาะเจาะจงเรียกซ้ำภายใต้ไดเรกทอรีปัจจุบันคืออะไร?

4
Grep multiline pattern
ฉันจะค้นหาวลีผ่านหลายบรรทัดได้อย่างไร เช่นช่วยให้มีวลี "ชาน้ำแข็งของฉัน" จากนั้นก็อาจถูกห่อในไฟล์ข้อความ: as js skdfh dfh djh sf my ice tea. grep จะไม่ตรงกันเนื่องจากมีการขึ้นบรรทัดใหม่ในระหว่าง ฉันจะจับคู่เหล่านั้นได้อย่างไร อีกรูปแบบหลายบรรทัดก็จะเป็นpattern1_\n_pattern2 ฉันรู้ว่าวิธีที่ง่ายที่สุดที่ฉันทำตู้เอทีเอ็มเป็นเพียง grep สำหรับส่วนหนึ่งเช่นเพียงแค่น้ำแข็งกับธง -A2 -B2 และจากนั้นในการส่งออก againg เช่นชา แต่นี่น่าเบื่อมาก ดังนั้นฉันจึงถูกขัดจังหวะว่าคุณจะแก้ปัญหานี้อย่างไร
13 grep  regex  newlines 

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