English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux diffコマンド

Linux コマンド全集

Linux diffコマンドはファイルの違いを比較するために使用されます。

diffはテキストファイルの違いを一行ごとに比較します。ディレクトリを指定した場合、同名のファイルが比較されますが、サブディレクトリは比較されません。

语法

diff [-abBcdefHilnNpPqrstTuvwy][-<行数>][-C <行数>][-D <マクロ名>][-I <文字または文字列>][-S <ファイル>][-W <幅>][-x <ファイルまたはディレクトリ>][-X <ファイル>][--help][--side  ファイルの異同を並行形式で表示。-column][--y引数を使用すると、二つのファイルの一行が同じ場合、左側のカラムにのみその行内容を表示します。-suppress-line][ファイルまたはディレクトリ1][ファイルまたはディレクトリ2]

オプション

  • -<行数>  表示するテキストの行数を指定します。このオプションは、以下のオプションと一緒に使用する必要があります。-または-uオプションも同時に使用されます。

  • -または--text  diffのデフォルト設定では、テキストファイルを一行ごとに比較します。

  • -bまたは--ignore-space-change スペース文字の違いをチェックしません。

    • -Bまたは--ignore-blank-lines 空白行をチェックしません。

    • -c 全文を表示し、異なる部分に印をつけます。

    • -C<行数>または--context<行数> 「」を実行するときに、-c-<行数>"命令が同じです。

    • -dまたは--minimal 異なるアルゴリズムを使用して、比較を行う単位を小さくします。

    • -D<マクロ名>またはifdef<マクロ名> このパラメータの出力フォーマットはプレースホルダ処理マクロに使用できます。

    • -eまたは--ed このパラメータの出力フォーマットはedのscriptファイルに使用できます。

    • -fまたは-forward-ed 出力フォーマットはedのscriptファイルに似ていますが、元のファイルの順序で異なる部分を表示します。

    • -Hまたは--speed-large-files 大ファイルを比較する場合、速度が向上します。

    • -l<文字または文字列>または--ignore-matching-lines<文字または文字列> 二つのファイルが特定の行で異なる場合、その行がオプションで指定された文字または文字列を含んでいる場合、その二つのファイルの差異を表示しません。

    • -iまたは--ignore-case 大文字小文字の違いをチェックしません。

    • -lまたは--paginate 結果をprプログラムに分頁処理を依頼します。

    • -nまたは--rcs 比較結果をRCS形式で表示します。

    • -Nまたは--new-file 比較ディレクトリ時、ファイルAが特定のディレクトリにのみ存在する場合、デフォルトで以下のように表示されます:

    • Only inディレクトリ:ファイルAが-Nパラメータが指定されると、diffはファイルAを空白のファイルと比較します。

    • -p 比較するファイルがC言語のプログラムコードファイルの場合、差異のある関数名を表示します。

    • -Pまたは--unidirectional-new-file と-N類似ですが、二番目のディレクトリに一番目のディレクトリにないファイルがある場合にのみ、そのファイルを空白のファイルと比較します。

    • -qまたは--brief 差異の有無のみを表示し、詳細な情報は表示しません。

    • -rまたは--recursive サブディレクトリ内のファイルを比較します。

    • -sまたは--report-identical-files 差異が見つからない場合でも情報を表示します。

    • -S<ファイル>または--starting-file<ファイル> 比較ディレクトリ時、指定されたファイルから比較を開始します。

    • -tまたは--expand-tabs 出力時にタブ文字を展開します。

    • -Tまたは--initial-tab 各行の前にタブ文字を追加して整列します。

    • -u,-U<列数>または--unified=<列数> ファイル内容の異なる部分を統合表示します。

    • -vまたは--バージョン バージョン情報を表示します。

    • -w或--ignore-all-wまたは

    • -ignore--all-space  すべてのスペース文字を無視します。

    • -width<幅>  W<幅>または--y引数を使用すると、カラム幅を指定します。

    • -x<ファイル名またはディレクトリ>または--exclude<ファイル名またはディレクトリ>  比較オプションで指定されたファイルやディレクトリを比較しません。-X<ファイル>または

    • -exclude--from<ファイル>  ファイルやディレクトリの種類をテキストファイルとして保存し、=<ファイル>で指定します。-yまたは-side

    • --by

    • --side  ファイルの異同を並行形式で表示。-help  ヘルプを表示。-column  left

    • --y引数を使用すると、二つのファイルの一行が同じ場合、左側のカラムにのみその行内容を表示します。-suppress-lines  common-y引数を使用すると、異なる部分のみを表示します。

    例1:二つのファイルを比較

    [root@localhost test3]# diff log2014.log log2013.log 
    3c3
    < 2014-03
    ---
    > 2013-03
    8c8
    < 2013-07
    ---
    > 2013-08
    11,12d10
    < 2013-11
    < 2013-12

    の上の"3c3"と"8c8"は、log2014.logとlog20143logファイルは、3行と第8行内容が異なります;"11,12d10"は、最初のファイルが二番目のファイルよりも多い第11と12行。

    例2:並行形式で表示

    [root@localhost test3]# diff log2014.log log2013.log  -y -W 50
    2013-01                 2013-01
    2013-02                 2013-02
    2014-03               | 2013-03
    2013-04                 2013-04
    2013-05                 2013-05
    2013-06                 2013-06
    2013-07                 2013-07
    2013-07               | 2013-08
    2013-09                 2013-09
    2013-10                 2013-10
    2013-11               <
    2013-12               <
    [root@localhost test3]# diff log2013.log log2014.log  -y -W 50
    2013-01                 2013-01
    2013-02                 2013-02
    2013-03               | 2014-03
    2013-04                 2013-04
    2013-05                 2013-05
    2013-06                 2013-06
    2013-07                 2013-07
    2013-08               | 2013-07
    2013-09                 2013-09
    2013-10                 2013-10
                          > 2013-11
                          > 2013-12

    説明:

    • "|"は、前後の2ファイル内容が異なります

    • "<"は、後のファイルが前のファイルよりも少ないことを示します1行内容

    • ">"は、後のファイルが前のファイルよりも多いことを示します1行内容

    Linux コマンド全集