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

Regex (หรือ regexp) เรียกว่าการจับคู่นิพจน์ทั่วไปของรูปแบบสตริงหรืออักขระในตัวอย่างเช่นไฟล์ข้อความขนาดใหญ่ คำถามควรติดแท็กเป็นภาษาโปรแกรมที่เกี่ยวข้องและแท็กยังสามารถนำไปใช้กับโปรแกรมบรรทัดคำสั่งหรือกราฟิกที่มีปลั๊กอิน regex หรือความสามารถของ regex

4
วิธี grep สำหรับแท็บโดยไม่ต้องใช้แท็บตัวอักษรและทำไม \ t ไม่ทำงาน
เมื่อฉันค้นหาแท็บในไฟล์ที่มี (จ) grep ฉันจะใช้แท็บครอก ( ^v + <tab>) ฉันไม่สามารถใช้\tแทนแท็บในนิพจน์ทั่วไปได้ ด้วยเช่น sed การแสดงออกนี้ทำงานได้ดีมาก ดังนั้นจึงมีความเป็นไปได้ที่จะใช้การทดแทน<tab>ที่ไม่ได้มาจากที่\tใด

12
วิธีค้นหาไฟล์ทั้งหมดที่ขึ้นต้นด้วยชื่อ“ ABC” ในไดเรกทอรีได้อย่างไร?
ฉันต้องการค้นหาไฟล์ที่เริ่มต้นด้วยชื่อเฉพาะ อาจมีหลายไฟล์เริ่มต้นด้วยรูปแบบเฉพาะและฉันต้องการรายการไฟล์ดังกล่าวทั้งหมดที่มีอยู่ในไดเรกทอรี

3
รูปแบบเปลี่ยนชื่อไฟล์แบทช์ใน terminal
ฉันต้องเปลี่ยนชื่อต่อไปนี้: file_001_loremipsum.png file_002_dolor.png file_003_sit.png file_004_amet.png file_105_randomness.png เข้าไป upl_loremipsum.png upl_dolor.png upl_sit.png upl_amet.png upl_randomness.png ฉันจะทำให้มันเกิดขึ้นได้อย่างไรด้วยคำสั่งเทอร์มินัลบรรทัดเดียวอย่างง่าย

4
apt-get remove พร้อมวิธีลบ wildcard มากกว่าที่คาดไว้ ทำไม?
เมื่อคืนฉันพยายามเผาซีดี ถูกรำคาญด้วย k3b และเลือกที่จะใช้ brasero แทนฉันไปลบ k3b ฉันพิมพ์ใน: sudo apt-get remove k3b ฉันกดแท็บสองครั้งและเห็นว่าฉันมีทั้งข้อมูล k3b และ k3b บนระบบของฉัน สมมติว่าฉันไม่ต้องการข้อมูล k3b บนระบบของฉันหากไม่มี k3b ฉันต้องการลบมันด้วยดังนั้นฉันจึงพิมพ์ใน: sudo apt-get remove k3b* น่าเสียดายที่ฉันกด Y เพื่อยืนยันโดยไม่ได้ดู มันถอนการติดตั้งมากทั้งมากกว่าและk3b k3b-dataมันถอนการติดตั้งแพคเกจที่ไม่เหมาะสมกับk3b*regex ของฉัน ตัวอย่างเช่น: และtransmissionnetwork-manager ฉันค่อนข้างแน่ใจว่าฉันไม่ได้มีช่องว่างระหว่างk3bและ*แต่ฉันไม่รู้ว่าทำไมมันจะลบทั้งหมดที่มันทำ มีบางอย่างเกี่ยวกับ apt-get หรือไม่ที่ฉันเข้าใจผิด?

3
ความแตกต่างระหว่าง '.' , '?' และ '*' ในนิพจน์ปกติ
ฉันจะได้รับตัวอย่างว่าองค์ประกอบสามอย่างนี้ (เรียกว่า metacharacters?) แตกต่างกันอย่างไร ฉันรู้ว่านั่น*หมายถึงทั้งหมดหรือเปล่า แต่ฉันไม่แน่ใจว่ามันเป็นวิธีที่ถูกต้องในการคิดหรือไม่ ในทางกลับกัน.และ?ดูเหมือนกัน พวกมันตรงกับตัวละครตัวหนึ่งใช่มั้ย
21 bash  regex 

1
การใช้ตัวดัดแปลงของ Perl-compatible Regex (PCRE) ใน grep
ตามgrep --helpและman grep, เราสามารถใช้-Pตัวเลือกเพื่อตีความรูปแบบเป็นนิพจน์ปกติของ Perl (PCRE, ให้แม่นยำ), แทนค่าเริ่มต้นของPOSIX นิพจน์พื้นฐานปกติ (BRE) ในภาษา Perl ตัวดัดแปลงต่างๆสามารถเพิ่มลงในนิพจน์เพื่อปรับการตีความรูปแบบ (ในไวยากรณ์ของ/pattern/modifiers) ดังนั้นใครบางคนสามารถเพิ่มการปรับเปลี่ยนการแสดงออกปกติ Perl ของ grep? ฉันลองชุดรูปแบบบางอย่างเช่นgrep -P "/^got.it$/ms" [FILE]แต่ผลการค้นหาผิด อย่างไรก็ตามเกี่ยวกับการตีความ PCRE นั้นคู่มือชี้ให้เห็นว่า: นี่คือการทดลองอย่างมากและgrep -Pอาจเตือนถึงคุณลักษณะที่ยังไม่ได้ใช้งาน เป็นไปได้ไหมที่เครื่องมือ grep ไม่รองรับตัวดัดแปลงเลย ? โดยวิธีการที่ฉันสังเกตเห็นว่าอย่างใดอย่างหนึ่งสามารถดำเนินการจับคู่รูปแบบที่ไม่สำคัญกรณีโดยใช้-iตัวเลือกซึ่งเป็นตัวอย่างของการปรับเปลี่ยน
20 grep  perl  regex 

2
^ $ และ ^ # หมายถึงอะไร
BADIPS=$(egrep -v "^#|^$" $tDB)ฉันไม่เข้าใจ คุณอธิบายได้ไหม รหัสเต็ม: #!/bin/bash # Purpose: Block all traffic from AFGHANISTAN (af) and CHINA (CN). Use ISO code. # # See url for more info - http://www.cyberciti.biz/faq/?p=3402 # Author: nixCraft <www.cyberciti.biz> under GPL v.2.0+ # ------------------------------------------------------------------------------- ISO="af cn" ### Set PATH ### IPT=/sbin/iptables WGET=/usr/bin/wget EGREP=/bin/egrep ### No …
17 grep  regex 

3
วิธีการระบุชื่อไฟล์ในขณะที่แยกเสียงโดยใช้ youtube-dl
ฉันสามารถสร้าง mp3 ของวิดีโอ YouTube ด้วยคำสั่งต่อไปนี้: youtube-dl --extract-audio --audio-format mp3 http://www.youtube.com/watch?v=rtOvBOTyX00 มันสร้าง mp3 ด้วยชื่อไฟล์ต่อไปนี้: Christina Perri - A Thousand Years [Official Music Video]-rtOvBOTyX00.mp3 ฉันไม่ต้องการส่วน ID วิดีโอ ( rtOvBOTyX00) ในตอนท้ายและต้องการมีสิ่งต่อไปนี้: Christina Perri - A Thousand Years [Official Music Video].mp3 สามารถทำได้ด้วยตัวเลือกของ youtube-dl หรือไม่ ถ้าไม่เป็นทางออกที่ดีที่สุดต่อไปคืออะไร?

1
จะรวมอักขระช่องว่างด้วย grep ได้อย่างไร
ฉันมีไฟล์ชื่อตัวอย่าง $ cat example kali.pdf linux.pdf ubuntu.pdf example.pdf. this.pdf grep .pdf และเมื่อฉันใช้grepเพื่อให้ได้บรรทัดที่มีช่องว่างมาก่อน.pdfฉันไม่สามารถรับมันได้ grep *.pdf example ไม่มีอะไรส่งคืน (ฉันต้องการจะพูดว่า "grep ตรงกับศูนย์หรือเว้นวรรคก่อนหน้า.pdf" แต่ไม่มีผลลัพธ์) และถ้าฉันใช้: grep i*.pdf example kali.pdf linux.pdf ubuntu.pdf example.pdf. this.pdf grep .pdf ทุกบรรทัดกลับมาเพราะฉันกำลังพูดว่า "grep จับคู่ฉันiหนึ่งหรือศูนย์เท่าตกลง" และสุดท้าย: grep " *.pdf" example ไม่มีผลลัพธ์ส่งคืน สำหรับตัวอย่างนี้ฉันต้องการดู grep .pdf เป็นเอาท์พุท เกิดอะไรขึ้นกับความคิดของฉัน

7
Regex ด้วยคำสั่ง sed เพื่อแยกข้อความ json
ฉันมีข้อความ json นี้: { "buildStatus" : { "status" : "ERROR", "conditions" : [{ "status" : "OK", "metricKey" : "bugs" }, { "status" : "ERROR", "metricKey" : "test_success_density" }, { "status" : "OK", "metricKey" : "vulnerabilities" } ], "periods" : [] } } ฉันต้องการที่จะแยกสถานะโดยรวมของ buildStatus คือเอาท์พุทที่คาดหวังคือ "ข้อผิดพลาด" "buildStatus" : { "status" …

2
นิพจน์ปกติ VS ชื่อไฟล์กำลังหมุน
ฉันรู้ว่านิพจน์ทั่วไปนั้นจะต้องใช้กับตัวละครและสตริงเท่านั้น แต่บางครั้งฉันก็พบพวกมันในชื่อไฟล์ คำถามของฉันคือ regexes ใช้เฉพาะกับตัวละครหรือชื่อไฟล์ด้วยหรือไม่
15 files  regex  wildcards 

7
คำแนะนำสำหรับบรรณาธิการ Regex?
ฉันขอคำแนะนำสำหรับบรรณาธิการของ Regexเกี่ยวกับ stackoverflow เมื่อไม่นานมานี้ ต่อไปนี้เป็นหนึ่งในคำตอบ : "ดี" คืออะไรขึ้นอยู่กับสิ่งที่มีประโยชน์มากที่สุดสำหรับคุณ สำหรับฉันแล้วสิ่งเหล่านี้เป็นคุณสมบัติที่สำคัญสำหรับโปรแกรมแก้ไข regex ที่ดี (นอกเหนือจากความสามารถในการทดสอบและสร้างนิพจน์ทั่วไปแน่นอนซึ่งเป็นข้อกำหนดเบื้องต้นที่เรียกว่า "ตัวแก้ไข regex" :-): แสดงการจับคู่ตามลำดับชั้นกับกลุ่มที่ถูกจับ อธิบาย / วิเคราะห์ regex ที่ป้อนเป็นภาษาอังกฤษธรรมดาโดยแสดงแผนผังลำดับชั้น แปล regex ของคุณเป็นรหัสสำหรับภาษาที่คุณเลือก RegexBuddy ตามที่ @ Max กล่าวถึงทำสิ่งเหล่านี้ทั้งหมด แต่ยังมีทางเลือกฟรี Expresso ที่ทำได้ดีมาก อรรถประโยชน์ทั้งสองนี้เป็นสิ่งเดียวที่ฉันได้พบกับความสามารถที่สำคัญในการอธิบาย regex คุณสมบัติเสียงน่าสนใจมากสำหรับฉัน แต่ภายหลังฉันพบว่าทั้งสองสำหรับ Windows ฉันพยายามติดตั้ง Expresso ฟรีผ่านทางไวน์ แต่พบปัญหาบางอย่างซึ่งฉันถามในโพสต์อื่น ดังนั้นฉันสงสัยว่าใน Ubuntu มีแอปพลิเคชั่นบางตัวที่เทียบเท่ากับ RegexBuddy และ Expresso หรือไม่? หากจำเป็นต้องมีการติดตั้ง. NET …


4
Grep: เครื่องหมายดอกจัน (*) ไม่ได้ผลเสมอไป
หากฉัน grep เอกสารที่มีสิ่งต่อไปนี้: ThisExampleString ... สำหรับการแสดงออกThis*Stringหรือ*Stringไม่มีอะไรจะส่งคืน อย่างไรก็ตามThis*ส่งคืนบรรทัดข้างต้นตามที่คาดไว้ การแสดงออกถูกล้อมรอบด้วยเครื่องหมายคำพูดหรือไม่ไม่ต่างกัน ฉันคิดว่าเครื่องหมายดอกจันระบุอักขระไม่ทราบจำนวนเท่าใด? ทำไมมันใช้งานได้ก็ต่อเมื่อเริ่มแสดงออก? ถ้าเรื่องนี้มีจุดมุ่งหมายพฤติกรรมสิ่งที่ฉันจะใช้แทนการแสดงออกThis*Stringและ*String?

2
การเปลี่ยนชื่อไดเรกทอรีจำนวนมากเพื่อย้ายปีตั้งแต่ต้นจนจบ
ฉันกำลังดิ้นรนกับโฟลเดอร์เพลงบางโฟลเดอร์ ฉันเคยตัดสินใจตั้งชื่อตามรูปแบบ: artist - album - year. วันนี้ฉันรู้ว่านี่ไม่ใช่การย้ายที่ฉลาดและตอนนี้ต้องการตั้งชื่อไดเรกทอรีของฉันตามรูปแบบ: year - artist - albumเนื่องจากพวกเขาจะปรากฏขึ้นตามลำดับจากน้อยไปมากเมื่อแสดงรายการ ฉันเริ่มทำการเปลี่ยนชื่อด้วยมือ แต่ด้วยโฟลเดอร์ประมาณ 700 โฟลเดอร์ต้องมีวิธีที่ง่ายกว่า ฉันพยายามใช้gprenameแต่ฉันไม่ค่อยเก่งเรื่อง regex และ bash scripting ... มีใครบ้างที่สามารถช่วยฉันสำรองปลายนิ้วมือที่ยากจนของฉันได้? ตัวอย่างบางส่วน: Aes Dana - Memory Shell - 2004 Anja Schneider & GummiHz - Back To Back (Remixes Part 2) - 2009 จะกลายเป็น 2004 - Aes Dana …

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