タグ付けされた質問 「diff」

diff-2つのファイル間の差異、または2つのディレクトリ内の対応する各ファイルを表示するコマンドラインツール。

3
2つのテキストファイルを「マージ」するにはどうすればよいですか?
私は最近Ubuntu 12.04から12.10にアップグレードしましたが、ある時点で、Apache構成ファイルの競合が発生しましたapache2.conf。その時点でマージオプションを指定しなかったため、新しいファイルを拒否し、インストーラーは新しいファイルをとして保存しましたapache2.conf.dpkg-dist。 2つのファイルをdiff apache2.conf apache2.conf.dpkg-dist比較して、異なる行だけを取得できます。しかし、SVNまたはgitでのマージの競合を解決する方法のような2種類を手動でマージしたいと思います。どうやってやるの?
13 linux  ubuntu  diff  etc  merge 

1
挿入または削除せずに、2行のファイルを厳密に行ごとに比較します
基本的に、16進形式のメモリダンプを含む2つのファイルがあります。現時点では、diffを使用して、ファイルが異なるかどうか、どこにあるかを確認します。ただし、これは違いの正確な場所(メモリアドレスなど)を特定しようとするときに誤解を招く可能性があります。2つのファイルを並べて表示する次の例を検討してください。 file1: file2: 0001 | 0001 ABCD | FFFF 1234 | ABCD FFFF | 1234 今、diff -u3つのライン(メモリ位置)は、2つのファイル間で変更されているものの、1つの挿入と1つの欠失を表示します。 0001 +FFFF ABCD 1234 -FFFF 各行が他のファイルの同じ行とのみ比較されるように(行番号付けの観点から)2つのファイルを比較する簡単な方法はありますか?そのため、この例では、最後の3行が変更されたこと、file1およびからの変更された行を報告する必要がありfile2ます。出力はdiffスタイルである必要はありませんが、色付けができればクールです(現時点では、簡単に調整できるようにdiff -u出力を色付けしていますsed)。

5
テキストファイルが別のサブセットであるかどうかを知る方法
テキストファイルが別のサブセットであるかどうかを判断する方法を探しています。 例えば: foo bar のサブセットです foo bar pluto 一方: foo pluto そして foo bar 互いのサブセットではありません... コマンドでこれを行う方法はありますか? このチェックはクロスチェックである必要があり、返さなければなりません: file1 subset of file2 : True file2 subset of file1 : True otherwise : False

3
特定のファイルタイプに対してのみdiff -r
2つのディレクトリの再帰的な差分を実行できますが、特定のファイル名またはファイルタイプの述語に一致するファイルを(それぞれの場所で)のみ比較できる方法はありますか? 例えば私は何かをしたいのですが diff -r dir-a dir-b -filenames *.java, ivy.xml, build.xml ...またはそれ以上: diff -r dir-a dir-b -filetype text 明らかに、使用には必須ではありませんdiff私は呪文を仮定として、findそして-exec diff(私は後者の場合に補完的なファイルパスを生成する方法がわからない)も、トリックを行う可能性があります。

5
ファイルの差分ヘッド
2つのファイルがあります。おそらく、1つのファイルは他のファイルのサブセットです。最初のファイルの2番目のファイルが適合する場所を(簡潔に)識別するためにファイルを比較する方法はありますか?
11 diff 

3
bashで2つのファイルの先頭を比較する
私が行うことができますdiff filea filebファイルの違いを見るために。head -1 fileafileaまたはfilebの最初の行を表示することもできます。これらのコマンドを組み合わせて、fileaの最初の行とfilebの最初の行の違いを表示するにはどうすればよいですか?
11 bash  shell  diff  head 

1
ファイル内のテキストの重複ブロックを特定する
ファイル内のテキストの重複または重複に近いブロックを識別する便利な方法はありますか? これを使用して、コードの重複を識別します。この機能を備えた専門プログラムがあるようですが、私はそれを関与させるつもりはありません。 一種の「ファイル内」差分を行うことができるdiffに似たツールがあることを願っています。さらに良いのは、単一ファイルvimdiff内です。

1
行内の違いのみを示す差分
2つのファイルの行を比較したいのですが、出力のノイズを最小限に抑えるために、実際の行の違いだけを印刷したいと思います。 たとえば、以下の2つのファイルがあるとします。 a.txt a b c d e f g h i j k l m n o p q r s t u v w x y z b.txt a B c d e f g h i j k l m n o p q r s t …

2
文字ごとの違い
Linuxに2つのテキストファイル間で文字ごとにdiffを実行するための安定したツール(既存のツールのオプション/プラグイン:vimdiff、diffなど)はありますか? 私の2つのファイル間の最も長い共通のサブシーケンスを強調表示したいと思います。そのための古典的な多項式時間アルゴリズムがありますが、標準ツールは1行ずつしか機能しないようです。

1
Linuxにはbdiff(1)はありますか?
bdiff(1)Solarisにdiff(1)は、RAMサイズよりも大きいサイズのファイルを許可するコマンドがあります(http://docs.oracle.com/cd/E19683-01/806-7612/files-23/index.html)。 Linuxにそのようなものはありますか?私はグーグルで試しましたがbdiff、Ubuntuにどのパッケージがあるかわかりません。
9 diff 

2
新しいファイルをパッチに含める方法
ここで紹介するパッチを作ってみます。 2つのディレクトリがpp1(modified version)ありpp0(clean version)、次pp0.patchのdiffコマンドでパッチファイルを作成するとします。 diff -crB pp0 pp1 > pp0.patch 問題は、pp1にのみファイルがある場合、パッチに含まれないことです。それを回避するには? 更新: 最初にpp0のディレクトリに移動し、パッチが成功するかどうかをテストします patch --dry-run -p1 -i /path-to-pp0.patch コマンドに追加--new-fileしましたが、diffだけのものpp1は結果に表示されません 更新: 誤って間違ったファイルにパッチを適用したので diff -crb --new-file pp1 pp0 > pp0.patch または diff -crNb pp1 pp0 > pp0.patch しましょう
9 diff  patch 

4
「diff」コマンドを使用して、どうすれば自分の予算を最大限に活用できますか?
私はdiff過去にLinux コマンドを使ってみましたが、あまり運も忍耐もありませんでした。私は通常、DiffMergeやKdiffなどのGUIユーティリティを使用することになります。 最近、私はdiffsshを介してリモートシステム上のファイルを比較するために再び使用しようとしましたが、この-y / --side-by-sideオプションは非常に役立つことがわかりましたが、このユーティリティを最大限に活用していないように感じます。 だから私は次のことを達成する方法に興味があります: 変更を強調表示するか、色分けして出力を読みやすくします マージ-違いのある行を選択し、変更をファイルの1つに反映します また、グーグルで良い例を多く見つけていないので、差分を最大限に活用するためのlinux-fuの秘密がある場合は、教えてください。私は主にテキストベースの設定ファイルを比較しますが、どんなトリックやヒントも素晴らしいでしょう。 参考のために -DiffMergeユーティリティでは、色の強調表示で変更を並べて簡単に表示できます。上部のアイコンを使用すると、「すべてを表示」、「違いを表示」、「コンテキストとの違いを表示」のビューを切り替えることができます。コマンドプロンプトでこの機能の一部を気に入っていただけると思います。 ps:非常に便利だと思うもう1つのオプションは--suppress-common-lines、この簡潔で読みやすいブログ投稿で学んだオプションです。

6
ディレクトリ1にあるがディレクトリ2にはないファイルを比較しますか?
作成したいbashスクリプトに問題があります lsがディレクトリにあるファイルを一覧表示することはわかっていますが、directory1にはあるがdirectory2にはないディレクトリを一覧表示し、次にdirectory1にないdirectory2にあるファイルを一覧表示します。 微妙な試みで、私は試しました: ls -al | diff directory1 directory2 それがうまくいかない理由をすぐに理解しました。誰かが完全なオタクを手伝うことはできますか?
9 bash  shell-script  ls  diff 

2
エンコーディングの問題により、同じファイル、異なるファイル名?
ソースからバックアップを差分して、データが正しいことを手動で確認しようとしていました。åäöなどの一部の文字は元のデータに正しく表示されませんが、(Sambaを介して)クライアントが正しく解釈するため、心配する必要はありません。バックアップから復元されたデータは、文字を正しく示しているため、diffはそれらを同じファイル(差分ではなく、完全に異なるファイル)とは見なしません。 md5の合計、ファイルは同じだが名前が異なる。 # md5sum /original/iStock_000003637083Large-barn* e37c34968dd145a0e25692e1cb7fbdb1 /original/iStock_000003637083Large-barn p? strand.jpg # md5sum /frombackup/iStock_000003637083Large-barn* e37c34968dd145a0e25692e1cb7fbdb1 /frombackup/iStock_000003637083Large-barn på strand.jpg マウントオプションとファイルシステム /dev/sdb1 on /original type ext4 (rw,noatime,errors=remount-ro) /dev/sdc1 on /frombackup type ext4 (rw) ロケール LANG=sv_SE.UTF-8 LANGUAGE= LC_CTYPE="sv_SE.UTF-8" LC_NUMERIC="sv_SE.UTF-8" LC_TIME="sv_SE.UTF-8" LC_COLLATE="sv_SE.UTF-8" LC_MONETARY="sv_SE.UTF-8" LC_MESSAGES="sv_SE.UTF-8" LC_PAPER="sv_SE.UTF-8" LC_NAME="sv_SE.UTF-8" LC_ADDRESS="sv_SE.UTF-8" LC_TELEPHONE="sv_SE.UTF-8" LC_MEASUREMENT="sv_SE.UTF-8" LC_IDENTIFICATION="sv_SE.UTF-8" LC_ALL= od -c # ls "/original/iStock_000003637083Large-barn …

1
gitのように色分けされたword-diff?
私は--word-diff素晴らしいと思うgit(色付き)を長い間使用してきました。今日、単語ごとに比較するために2つの文字列があり、gitのdiffのようなものを切望している状況にありました。 wdiff+ は知っcolordiffていますが、その結果は確かにすばらしいものではありません。 me@me:~$ wdiff <(echo -e "abc\ndef") <(echo -e "dbcx\ndef") | colordiff [-abc-]{+dbcx+} def より良い選択肢はありますか?私が特に好きではない[-、-]と{+、+}。
8 colors  git  diff  colordiff 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.