1

まず、2 つのファイルの違いだけを取得するための最良かつ最速の UNIX コマンドはどれですか? 私はそれを行うためにdiffを使用してみました(以下)。

ここでNeilvert Novalが提供した答えを試しました-2つのファイルを1行ずつ比較し、別のファイルで違いを生成します

コード -

diff -a --suppress-common-lines -y file1.txt file2.txt >> file3.txt

しかし、さまざまな行の前にも多くのスペースと > 記号が表示されます。どうすれば修正できますか?末尾のスペースと最初の「>」を削除することを考えていましたが、それが適切な修正であるかどうかはわかりません.

私のfile1.txtには-

Hello World!
Its such a nice day!
#this is a newline and not a line of text# 

私のfile1.txtには-

Hello World!
Its such a nice day!
Glad to be here!
#this is a newline and not a line of text# 

出力 - 「#多くのスペースがここにあります# > ここにいてよかった:)」

期待される出力 -ここに来てよかった:)

4

3 に答える 3

1

diffの-yオプションを使用すると、「並べて」差分が生成されます。これが、スペースがある理由です。-u 0コンテキストの行がゼロの統一された形式を試してください。それは印刷する必要があります:

+Glad to be here:)

プラスは行が追加されたことを意味し、マイナスは削除されたことを意味します。

于 2013-08-05T19:37:37.973 に答える
-1
diff -a --suppress-common-lines -y file1.txt file2.txt|tr 'a >' '' |awk '{print $1}' >>file3.txt 
于 2015-03-11T23:57:09.710 に答える