質問: 'diff'(またはその他)を使用して、テキストファイル間の文字レベルの差分を取得する 「diff」を使用して、行の違いと文字の違いの両方を取得したいと思います。たとえば、次のことを考慮してください。ファイル1abcde abc abcccd ファイル2abcde ab abccc diff -uを使用すると、@@ -1,3 +1,3 @@ abcde -abc -abcccd \ no newline at end of file +ab +abccc \ no newline at end of file ただし、これらの行に変更があったことのみが表示されます。私が見たいのは次のようなものです:@@ -1,3 +1,3 @@ abcde -ab<ins>c</ins> -abccc<ins>d</ins> \ no newline at end of file +ab +abccc \ no newline at end of file あなたは私のドリフトを取得します。これで、特定の行の違いをマーク/チェックするために 他のエンジン を使用できることがわかりました。しかし、私はむしろ、すべてを実行する1つのツールを使用します。
回答: 完全な答えではありませんが、cmp -lの出力は十分に明確ではありません。次を使用できます。sed 's/\(.\)/\1\n/g' file1 > file1.vertical sed 's/\(.\)/\1\n/g' file2 > file2.vertical diff file1.vertical file2.vertical