ฉันมีไฟล์กำหนดค่าสองไฟล์ต้นฉบับจากผู้จัดการแพ็กเกจและไฟล์ที่กำหนดเองที่แก้ไขด้วยตัวเอง ฉันได้เพิ่มความคิดเห็นเพื่ออธิบายพฤติกรรม
ฉันจะรันdiffไฟล์กำหนดค่าโดยข้ามความคิดเห็นได้อย่างไร บรรทัดความคิดเห็นถูกกำหนดโดย:
- ช่องว่างนำหน้าตัวเลือก (แท็บและช่องว่าง)
- เครื่องหมายแฮช (
#) - ตัวละครอื่น ๆ
(ที่ง่ายที่สุด) #.*การแสดงออกปกติข้ามความต้องการแรกจะเป็น ฉันลองตัวเลือก--ignore-matching-lines=RE( -I RE) ของ GNU diff 3.0 แต่ฉันไม่สามารถทำงานกับ RE นั้นได้ ฉันยังพยายาม.*#.*และ.*\#.*ไม่มีโชค การวางบรรทัด ( Port 631) ตามตัวอักษรอย่างแท้จริงREไม่ตรงกับสิ่งใดเลยและไม่ช่วยให้วาง RE ระหว่างเครื่องหมายทับ
ตามที่แนะนำในregex แล้วรสชาติของเครื่องมือ“ diff” นั้นขาดไปหรือไม่? ฉันพยายามgrep -G:
grep -G '#.*' file
นี้ดูเหมือนว่าจะตรงกับความเห็น diff -I '#.*' file1 file2แต่มันไม่ทำงานสำหรับ
ดังนั้นควรใช้ตัวเลือกนี้อย่างไร ฉันจะdiffข้ามบางบรรทัดได้อย่างไร (ในกรณีของฉันความคิดเห็น) โปรดอย่าแนะนำgrepไอเอ็นจีไฟล์และเปรียบเทียบไฟล์ชั่วคราว
diff -Iไม่ทำงานตามที่ฉันคาดไว้ ฉันอัปเดตคำตอบของฉันด้วยตัวอย่างที่อธิบายพฤติกรรมนี้ให้ฉันทราบ
-Iตัวเลือกที่ทำให้เกิดการบล็อกที่จะละเลย แต่ถ้าทุกเส้นตรงกับ regexp ดังนั้นคุณสามารถเพิกเฉยต่อการเปลี่ยนแปลงความคิดเห็นอย่างเดียวได้ แต่ไม่ใช่การเปลี่ยนแปลงความคิดเห็นที่อยู่ใกล้กับการเปลี่ยนแปลงที่ไม่ใช่ความคิดเห็น