GNU diff(1)のラッパー「di」

投稿者: | 2010年3月11日

WEB+DB PRESS Vol.46WEB+DB PRESS Vol.46で取り上げたGNU diff(1)のラッパー、「di」をGitHubに置いた。GNU diffには多彩なオプションが用意されているが、POSIXなどの規格の縛りもありデフォルト設定が日常利用には不便なものになっている。いちいちdiff -Nrpu dir1 dir2なんて面倒くさい。以下の特長を持つラッパーdiで楽をしよう。

  • -U3 -N -p -dがデフォルト。
  • 出力が色付き。ページャが起動される。(Gitのまね)
  • バックアップファイルやオブジェクトファイル、.git, .hg, .svn, CVSなどのディレクトリを無視する。
  • RCS/CVSキーワードタグの違いを無視する。
  • ディレクトリを与えれば自動で再帰比較。
  • 上記を含むデフォルトのオプション設定は環境変数で変更可能。
  • GNU diffがサポートしないオプションの組み合わせもサポート。

alias di="diff -ru"でいいんじゃないの?」という人は、理不尽におこられた経験がないのかもしれない。context diffがほしくなってdi -c FILE1 FILE2とすると、展開されてこうなる。

黙って後から指定した方を採用してくれればいいのに、まったく余計なお世話だ。(FreeBSDではこのエラーは抑止されている)
そして、diff FILE1 DIRは動くのになぜかdiff FILE1 FILE2 DIRはエラーになるのも不便だ。

diだとちゃんと動く。ほかにも、-r-D NAMEが組み合わせられない問題も自力でディレクトリを辿ることで回避している。
インストールは、単にbin/diをパスの通ったところに置くか、またはgem install diでOK。動作にはRubyが必要。
弱点は大きなツリーの比較が遅いこと。GNU diffは-x/--excludeを使ってもファイル名でしか除外できず、二つのファイルリストを渡して比較するということもサポートしていないため、自力でディレクトリ探索を行う場合はディレクトリごとにdiff(1)を複数回起動しなければならない。しかし、並列起動で高速化する余地はあるので今後の課題。
もう一つ、--ignore-file-name-caseをサポートしていないが、これは面倒な割には使いたいと思ったことがないため。それだけなので、気が向けば実装するかも。あるいは切実にほしいあなたが実装するかも。

GNU diff(1)のラッパー「di」」への335件のフィードバック

  1. ufabet

    Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

    返信
  2. ufabet

    Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

    返信
  3. เว็บแทงบอล

    I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.

    返信
  4. เว็บบอลauto

    I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.

    返信
  5. แทงบอล

    You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!

    返信
  6. บ้านผลบอล

    You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!

    返信
  7. วัวชน มัน ๆ

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  8. วัวชนสด

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  9. วัวชนเงินล้าน

    naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

    返信
  10. ราคาวัวชน

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  11. เว็บพนันแทงบอล

    naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

    返信
  12. 1ufabet

    I really like reading through a post that can make men and women think. Also, thank you for allowing me to comment!

    返信
  13. ufa191

    I am truly thankful to the owner of this web site who has shared this fantastic piece of writing at at this place.

    返信
  14. มวยวันนี้

    I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.

    返信
  15. betflix168

    Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

    返信
  16. Betflix Slot

    I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.

    返信
  17. สูตรรูเล็ต

    You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!

    返信
  18. บาคาร่า

    You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!

    返信
  19. ufabet911

    I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.

    返信
  20. วิธีแทงบอล

    naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

    返信
  21. ufa656 ทางเข้า

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  22. แทงบอลสด

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  23. ข่าวกีฬา

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  24. Julia Ali

    naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

    返信
  25. ufa191

    I really like reading through a post that can make men and women think. Also, thank you for allowing me to comment!

    返信
  26. หวย24

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  27. ufac4

    For the reason that the admin of this site is working, no uncertainty very quickly it will be renowned, due to its quality contents.

    返信
  28. ufa656

    Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

    返信
  29. ufa191

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  30. แท่งหวย24

    naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

    返信
  31. ufaland

    I very delighted to find this internet site on bing, just what I was searching for as well saved to fav

    返信
  32. ufanance

    I really like reading through a post that can make men and women think. Also, thank you for allowing me to comment!

    返信
  33. Emmalee Wood

    You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!

    返信
  34. สล็อต

    Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.

    返信
  35. แท่งหวย24

    I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.

    返信
  36. lotto

    For the reason that the admin of this site is working, no uncertainty very quickly it will be renowned, due to its quality contents.

    返信
  37. 24หวย

    naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

    返信
  38. ติดต่อ ufabet

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  39. Ufabet168

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  40. ufabet เว็บตรง

    naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

    返信
  41. UFA365

    Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

    返信
  42. UFA222

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  43. UFA147

    I very delighted to find this internet site on bing, just what I was searching for as well saved to fav

    返信
  44. เว็บตรง allbacara

    I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.

    返信
  45. บาคาร่า888

    I’m often to blogging and i really appreciate your content. The article has actually peaks my interest. I’m going to bookmark your web site and maintain checking for brand spanking new information.

    返信
  46. USA567

    Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.

    返信
  47. แทงบาคาร่า

    naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

    返信
  48. ufabet

    Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

    返信
  49. ufabet เข้าสู่ระบบ

    Ufabet เว็บพนันออนไลน์ที่มั่นคง: เว็บไซต์มาตรฐาน ระบบความปลอดภัยสูง มั่นใจได้ทุกการเดิมพัน

    返信
  50. ufabet

    Great information shared.. really enjoyed reading this post thank you author for sharing this post .. appreciated

    返信
  51. ufabet

    เล่นได้อย่างผ่อนคลาย: เล่นเพื่อความสนุกสนาน ผ่อนคลาย

    返信
  52. ufabet

    มีเกมให้เลือกเล่นมากมาย: เกมเดิมพันหลากหลาย ครบทุกค่ายดัง

    返信
  53. ufabet911

    เล่นเพลินๆ แก้เบื่อ: เล่นเพลินๆ แก้เบื่อ ผ่อนคลายความเครียด

    返信
  54. ufabet

    ฝาก-ถอน รวดเร็ว: รองรับการฝาก-ถอน ผ่านทรูวอเลท และธนาคารชั้นนำ สะดวก รวดเร็ว ปลอดภัย

    返信
  55. ufabet

    naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

    返信
  56. ufabet

    มีกิจกรรมพิเศษ: กิจกรรมพิเศษ แจกของรางวัลมากมาย

    返信
  57. ufanance

    เล่นได้อย่างโปร่งใส: ระบบโปร่งใส ตรวจสอบได้

    返信
  58. ufa

    This is really interesting, You’re a very skilled blogger. I’ve joined your feed and look forward to seeking more of your magnificent post. Also, I’ve shared your site in my social networks!

    返信
  59. ufabet

    Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.

    返信
  60. ufac4

    เล่นได้อย่างปลอดภัย: ระบบความปลอดภัยสูง ปกป้องข้อมูลส่วนตัว

    返信
  61. ยูฟ่าเบท

    Ufabet เว็บพนันออนไลน์ที่มีระบบบริการลูกค้าที่ยอดเยี่ยม: ทีมงานมืออาชีพ คอยให้บริการตลอด 24 ชั่วโมง ตอบคำถาม แก้ไขปัญหา รวดเร็ว ทันใจ

    返信
  62. ufabet

    เล่นได้อย่างมีรางวัล: เล่นเกมเดิมพัน ลุ้นรับรางวัลมากมาย

    返信
  63. ufabet

    Ufabet เว็บพนันออนไลน์ที่คุ้มค่า: โปรโมชั่นและโบนัสมากมาย คุ้มค่า แน่นอน

    返信
  64. บาคาร่า

    ดีลเลอร์มืออาชีพ: บาคาร่า มีดีลเลอร์มืออาชีพ บริการดี รอยยิ้มแย้มแจ่มใส คอยให้บริการตลอด 24 ชั่วโมง

    返信
  65. บาคาร่า

    การบริการลูกค้าที่ยอดเยี่ยม: บาคาร่า เป็นเว็บพนันออนไลน์ที่มีบริการลูกค้าที่ยอดเยี่ยม ทีมงานมืออาชีพ คอยให้บริการตลอด 24 ชั่วโมง

    返信
  66. ufabet

    ระบบภาษาไทย: Ufabet รองรับภาษาไทย เล่นง่าย เข้าใจสะดวก

    返信
  67. บาคาร่า

    ความคุ้มค่า: บาคาร่า เป็นเว็บพนันออนไลน์ที่คุ้มค่า นำเสนอโปรโมชั่นและโบนัสมากมาย

    返信
  68. ufabet เว็บตรง

    Ufabet เว็บพนันออนไลน์ที่มีระบบการเล่นที่ง่าย: เล่นง่าย สะดวก เข้าใจง่าย เหมาะกับนักเดิมพันทุกระดับ

    返信
  69. ufabet

    Ufabet เว็บพนันออนไลน์ที่โปร่งใส: ระบบโปร่งใส ตรวจสอบได้ ทุกการเดิมพันเป็นธรรมะ โปร่งใส

    返信
  70. ufabet

    ระบบการเงินที่มั่นคง: Ufabet มีระบบการเงินที่มั่นคง มั่นใจได้ เงินไม่หาย โอนไว จ่ายจริง

    返信
  71. ufabet

    Ufabet เว็บพนันออนไลน์ที่มีระบบการเดิมพันที่ยุติธรรม: โปร่งใส ตรวจสอบได้ ทุกการเดิมพันเป็นธรรมะ โปร่งใส

    返信
  72. ufabet

    Ufabet เว็บพนันออนไลน์ที่มีระบบการเดิมพันที่มีความคุ้มค่า: โปรโมชั่นและโบนัสมากมาย คุ้มค่า แน่นอน

    返信
  73. บาคาร่าออนไลน์

    ความปลอดภัยสูง: บาคาร่า เป็นเว็บพนันออนไลน์ที่มีความปลอดภัยสูง ปกป้องข้อมูลส่วนตัว มั่นใจได้ทุกการเดิมพัน

    返信
  74. ufabet

    เล่นได้กับ Ufabet: เลือกเล่นกับ Ufabet เว็บพนันออนไลน์อันดับ 1 ของไทย

    返信
  75. ufabet

    ระบบ VIP: Ufabet มีระบบ VIP มอบสิทธิพิเศษมากมายสำหรับสมาชิก VIP

    返信
  76. ufabet

    เล่นได้อย่างสนุกสนาน: เกมเดิมพันหลากหลาย ลุ้นระทึกทุกวินาที

    返信
  77. แทงบอล

    Ufabet เว็บพนันออนไลน์ที่มีระบบการเดิมพันที่มีความน่าเชื่อถือ: มั่นใจได้ทุกการเดิมพัน

    返信
  78. ufabet

    เล่นได้ทุกที่ทุกเวลา: รองรับการเล่นผ่านมือถือ เล่นง่าย สะดวก ทุกที่ทุกเวลา

    返信
  79. แทงบอลออนไลน์

    Ufabet เว็บพนันออนไลน์ที่ปลอดภัย มั่นใจได้: เว็บไซต์มาตรฐาน ระบบความปลอดภัยสูง ปกป้องข้อมูลส่วนตัว มั่นใจได้ทุกการเดิมพัน

    返信
  80. ufabet

    เล่นได้ทุกที่ทุกเวลา: รองรับการเล่นผ่านมือถือ เล่นง่าย สะดวก ทุกที่ทุกเวลา

    返信
  81. SA Gaming

    เล่นได้บนเว็บเบราว์เซอร์: เล่นได้บนเว็บเบราว์เซอร์ ไม่ต้องดาวน์โหลดแอปพลิเคชัน

    返信
  82. UFA BET

    ฝาก-ถอน รวดเร็ว: รองรับการฝาก-ถอน ผ่านทรูวอเลท และธนาคารชั้นนำ สะดวก รวดเร็ว ปลอดภัย

    返信
  83. ufabet

    เว็บตรง ไม่ผ่านเอเย่นต์: มั่นใจได้เลยว่าปลอดภัย ไร้กังวล โอนไว จ่ายจริง

    返信
  84. ufabet168

    เล่นได้อย่างเพลิดเพลิน: เล่นเพลินๆ แก้เบื่อ ผ่อนคลายความเครียด

    返信
  85. ufabet911

    เล่นได้ทุกเพศทุกวัย: เล่นได้ทุกเพศทุกวัย สนุกสนาน

    返信
  86. ufac4

    มั่นคง ปลอดภัย: เว็บไซต์มาตรฐาน ระบบความปลอดภัยสูง

    返信
  87. UFABET

    สมัครง่าย: สมัครสมาชิกง่ายๆ รวดเร็ว ผ่านระบบออโต้

    返信
  88. ufabet911

    Ufabet เว็บพนันออนไลน์ที่มั่นคง: เว็บไซต์มาตรฐาน ระบบความปลอดภัยสูง มั่นใจได้ทุกการเดิมพัน

    返信
  89. ufanance

    เล่นได้บนทุกอุปกรณ์: เล่นได้บนทุกอุปกรณ์ คอมพิวเตอร์ แท็บเล็ต มือถือ

    返信
  90. ufabet

    มีครบ จบ ในเว็บเดียว: เดิมพันได้หลากหลาย ไม่ว่าจะเป็น แทงบอล คาสิโน สล็อต หวย มวย ไก่ชน ครบจบในเว็บเดียว

    返信
  91. วัวชน

    เล่นได้อย่างคุ้มค่า: โปรโมชั่นและโบนัสมากมาย คุ้มค่า แน่นอน

    返信
  92. ไก่ชนอินเตอร์

    Ufabet เว็บพนันออนไลน์ที่เล่นง่าย: รองรับการเล่นผ่านมือถือ เล่นง่าย สะดวก ทุกที่ทุกเวลา เล่นได้ทุกระบบปฏิบัติการ เล่นได้บนทุกอุปกรณ์

    返信
  93. ufabet

    Ufabet เว็บพนันออนไลน์ที่คุ้มค่า: โปรโมชั่นและโบนัสมากมาย คุ้มค่า แน่นอน

    返信
  94. ufabet

    อัตราต่อรองดีที่สุด: อัตราต่อรองดีที่สุด ให้ราคาสูง

    返信
  95. ufabet911

    เล่นได้อย่างบันเทิง: เล่นเพื่อความบันเทิง คลายเครียด

    返信
  96. ufanance

    มีระบบ AI ช่วยเดิมพัน: ระบบ AI ช่วยวิเคราะห์ เพิ่มโอกาสชนะ

    返信
  97. วัวชน

    เล่นได้อย่างปลอดภัย: ระบบความปลอดภัยสูง ปกป้องข้อมูลส่วนตัว

    返信
  98. 10รับ100

    บริการดีเยี่ยม: ทีมงานมืออาชีพ คอยให้บริการตลอด 24 ชั่วโมง

    返信
  99. ufac4 เข้าสู่ระบบ

    Ufabet เว็บพนันออนไลน์ที่เล่นง่าย: รองรับการเล่นผ่านมือถือ เล่นง่าย สะดวก ทุกที่ทุกเวลา เล่นได้ทุกระบบปฏิบัติการ เล่นได้บนทุกอุปกรณ์

    返信
  100. แทงหวย24

    เล่นง่าย: รองรับการเล่นผ่านมือถือ เล่นง่าย สะดวก ทุกที่ทุกเวลา

    返信
  101. UFABET

    เล่นเพื่อเพิ่มรายได้: เล่นเพื่อเพิ่มรายได้ สร้างรายได้เสริม

    返信
  102. บาสสด

    มีครบ จบ ในเว็บเดียว: เดิมพันได้หลากหลาย ไม่ว่าจะเป็น แทงบอล คาสิโน สล็อต หวย มวย ไก่ชน ครบจบในเว็บเดียว

    返信
  103. ดูบอลสด999

    เล่นได้อย่างเพลิดเพลิน: เล่นเพลินๆ แก้เบื่อ ผ่อนคลายความเครียด

    返信
  104. ufa911

    เล่นได้อย่างโปร่งใส: ระบบโปร่งใส ตรวจสอบได้

    返信
  105. ufabet911

    เล่นได้อย่างมีรางวัล: เล่นเกมเดิมพัน ลุ้นรับรางวัลมากมาย

    返信
  106. ดูบาสสด

    พัฒนาทักษะการเล่น: ดูบาสสด พัฒนาทักษะการเล่นบาสเก็ตบอล ดูแล้วลองเล่นตาม

    返信
  107. ดูวัวชนสด

    มีครบ จบ ในเว็บเดียว: เดิมพันได้หลากหลาย ไม่ว่าจะเป็น แทงบอล คาสิโน สล็อต หวย มวย ไก่ชน ครบจบในเว็บเดียว

    返信
  108. livesport911

    มีระบบ AI ช่วยเดิมพัน: ระบบ AI ช่วยวิเคราะห์ เพิ่มโอกาสชนะ

    返信
  109. Livesport911

    มีเกมให้เลือกเล่นมากมาย: เกมเดิมพันหลากหลาย ครบทุกค่ายดัง

    返信
  110. วัวชน

    naturally like your web site however you need to take a look at the spelling on several of your posts. A number of them are rife with spelling problems and I find it very bothersome to tell the truth on the other hand I will surely come again again.

    返信
  111. binance Sign Up

    Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?

    返信
  112. รื้อบ้าน

    รื้อถอนโรงงานเก่าเป็นการเปิดพื้นที่สำหรับโครงการพลังงานสะอาด

    返信

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です