ブログネタなんですが、こちらで公開した方が大勢の目に触れると思うので… コマンド command1 の出力結果と コマンド command2 の出力結果を diff (1) で比較したい場合、bash (1) の場合は以下の様にする事で簡単に比較できる。
コードを書いていると、以前のコードと現在のコードとのdiffを取りたいことがよくあります。 でも、diffの結果はちょっと読みにくい。もしdiffの結果が色付けされていたら、もっと読みやすいじゃないかと、今日ふと思いました。 そこで、zshのグローバルエイリアスを使って、diffの結果をvimで色付けして表示するようにしてみました。(.vimrcには「syntax on」と書いておきます。) % vim ~/.zshrc [...] # View command results(stdout) by vim export VIM_TMP=/tmp/vim.tmp alias -g V="> $VIM_TMP$$; vim $VIM_TMP$$"仕組みは簡単で、一時ファイルにコマンドの実行結果を保存して、vimでその一時ファイルを開いているだけです。一時ファイルを作っている所が、ちょっとダサ
Copyright (c) 2001 Koichi OKADA まず「取扱説明書」をお読みください。 はじめに diff/patch とは diff というのはファイルの差分を作成するツール、 patch というのはファイルの差分からファイルの変更を再現するツールです。 通常 diff で作った差分ファイルをパッチ(ばんそうこう)と呼びます。 ライセンス 多分、気にしなくて良いです。 準備 UNIX の場合 通常 UNIX には diff と patch は標準で入っています。 特に準備はいらないはずです。 Windows の場合 一番手っ取り早いのはcygwinを入れることです。 cygwin はでか過ぎるとか cygwin はちょっとって言う人は vector辺りで win32 native な rcs/diff と patch を 取って来る
最終更新 2018-03-09 UNIX/Linux における diff コマンドは、2つのテキストファイルの違い (差分) を表示するコマンドである。ファイル内容が一致しているかの確認も可能。ディレクトリを再帰的にたどり、複数のファイルを一括して差分表示することもできる。
patch(パッチ)は、テキストファイルにパッチ処理を行うUNIX上のプログラム。「パッチファイル」と呼ばれるファイルに格納された命令群に従ってテキストファイルを更新する。パッチファイル(単にパッチとも呼ばれる)自体もテキストファイルであり、diff を使って元のファイルと更新後のファイルの差分をとることで作成される。パッチによるファイルの更新を「パッチを当てる」などという。 歴史[編集] patch を最初に作ったのは(後に Perl を開発した)ラリー・ウォールであり、彼はそれを1985年5月にmod.sources へポストした(後に comp.sources.unix となった)。このプログラムはGNUプロジェクトの一部となり、フリーソフトウェア財団が保守している。 使用法[編集] patchはプログラマの間でのやり取りのために作られ、ソースコードの更新のためによく用いられている。
この項目では、2つのファイルを比べる表示プログラムについて説明しています。コミュニティのブログについては「m:Diff (blog)」をご覧ください。 diff(ディフ)は、ファイルの比較を行うためのコマンドで2つのファイル間の違いを出力できるプログラム。diffプログラムは行単位でテキストファイル間の差異を表示する。最近の実装ではバイナリファイルもサポートしている。プログラムからの出力も「diff」(ディフ)と呼ばれるが出力をそのままpatchプログラムで適用できるため、「patch」(パッチ)との呼称も一般的である。また、diffコマンド以外からの出力であっても差分表示プログラムの出力はdiffと呼ばれることがある。"grep"が文字列探索そのものの代名詞になっているように、"diff"という語も差分検出一般を指すジャーゴンとなっている。 歴史[編集] diffプログラムは1970年代
diffはプログラマ七つ道具のひとつというか、よく使うんですが、diffの出力については大体の読み方は理解しているものの、細かなところまでは理解できていませんでした。 なんで、diffの生成した差分出力をオリジナルファイルに適応する、これまたプログラマ七つ道具*1といえそうなpatchを勉強がてら実装してみました。 まず、diffの形式ですが、一般的なunified diffを対象にします。例えば、以下のようなものです。 --- hello1.pl 2007-10-12 04:51:39.000000000 +0900 +++ hello2.pl 2007-10-12 04:52:11.000000000 +0900 @@ -1,5 +1,5 @@ #!/usr/bin/env perl -#hello1.pl +#hello2.pl use strict; use warnings; @
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く