0

私は 2 つのファイルを持っていますが、どちらも大量のデータを含んでいます。必要なのは、各ファイルの最初の単語を比較することです (各ファイルは常に数字で始まり、各数字には多くの数字が含まれる可能性があります)。

これらの番号が同じ場合、ファイルは同一です。

例: a.txt、b.txt、c.txt の 3 つのファイルがあります。

 a.txt content is "1 a b c 3 5 6 hjkj"
 b.txt content is "1 c f a 1234 h"
 c.txt content is "2 a b c 3 5 6 hjkj"

 diff a.txt b.txt should return "files are identical"
 diff a.txt c.txt should return "files are different"

diff コマンドを使用してそれらを比較するにはどうすればよいですか?

4

3 に答える 3

1

これでうまくいくはずです。この関数をbashrcファイルに入れます。

function mydiff() {
       DIGITS=10
       file_1=`head -c ${DIGITS} $1`
       file_2=`head -c ${DIGITS} $2`

       if [ "$file_1" == "$file_2" ]
         then echo "Files are identical"
       else
         echo "Files are different" 
       fi
}

使用法 :

mydiff file_1 file_2
于 2013-10-31T21:19:04.090 に答える
1

を使ってみてくださいawk

#!/bin/bash

awk 'FNR==1 { if(NR==1) a=$1; else b=$1 } END { if(a==b) print "files are identical"; else print "files are different" }' $1 $2

上記のコマンドを という名前のファイルに保存mydiffし、 を使用して実行許可を与えると、次のようにパーソナライズされたdiffコマンドをchmod +x実行できます。

mydiff file1 file2 
于 2013-10-31T21:17:54.133 に答える