いいじまです。 > 正直に言うと、原文がわかりにくいと思います。 (中略) > 今の説明だと、何行出力するかに焦点があたっていて、 > context diff, unified diff を知っているのが前提に書かれています。 全く同意です。 > 説明としては、出力形式の違いがもう少しわかりやすくなっているべきだと思います。 > #昔の diff.1 の man page は -c/-u は別の説明だったのでわかりやすかった。 昔の各種 UNIX の man mages はここで読めますね: https://www.freebsd.org/cgi/man.cgi (ご存知の方も多いと思いますが) 具体的には、このページ https://www.freebsd.org/cgi/man.cgi?query=diff&manpath=FreeBSD+13.0-RELEASE+and+Ports あたりだと詳細に説明が書いてあります。 邦訳もここにありますが http://www.koganemaru.co.jp/cgi-bin/mroff.cgi?subdir=man&lc=1&man=diff&dir=jpman-13.0.2%2Fman これはちょっと訳が硬いですね。 ☆ ☆ ☆ > これを踏まえると、意訳でよければ、以下のような案はいかがでしょうか。 > -c, -C=NUM, --context[=NUM] > context diff 形式を使用し、前後の NUM 行 (デフォルトは 3行) を表示します。 > -u, -U=NUM, --unified[=NUM] > unified diff 形式を使用し、前後の NUM 行 (デフォルトは 3行) を表示します。 そうですね。これが妥当だと思います。 実を言うと、私が借りているレンタルサーバで、いつのどこのディストリビューション由来なのか不明なLinux環境があるのですが、そこにはmanの各国語訳が入っていて、その文章を紹介すべきかどうか迷っていたところでした。 もう元木さんから文案が出ているので、手元の文面を参照しても大丈夫だろう、ということでご紹介します。 > -LINES 異なっている部分の前後 LINES 行 (整数) 分のコンテクストを表示する。 > このオプションは出力形式自体の指定は行わない。したがって -c や -u > オプションと一緒に用いないと、なんの効果も持たない。このオプションは > obsolete である。 patch(1) が正しく動作するには、少なくとも 2 行の > コンテクストが必要である。 > -c context 出力形式を用いる。 > -u unified 出力形式を用いる。 > -C LINES, --context[=LINES] > context 出力形式を用い、 LINES 行 (整数値) のコンテクストを表示 > する。 LINES が与えられなければ 3 行表示する。 patch が正しく動 > 作するためには、少なくとも 2 行のコンテクストが必要であることが > 多い。 > -U LINES, --unified[=LINES] > unified 出力形式を用い、(以下同文) > GNU diff Utilities 2.8.1 October 2002 DIFF(1) ちなみにこのサーバは64bit環境ですが、入っているdiffutilsはx86_64アーキテクチャの最初の登場(2003年)よりも古いです。 #マニュアルの邦訳だけ古いままなのかなとも思いましたが、 #diff --version を打っても2.8.1と出てきました(笑) -- 飯嶋 浩光/でるもんた・いいじま @ PC IIJIMA Hiromitsu, aka Delmonta Email <delmo****@denno*****>