diffを使用して2つのテキストファイルの違いを調べています。それはうまくいっていますが、テキストファイルの行の順序を変更すると、結果ファイルに似たようなテキストが表示されます。なぜdiffユーティリティは結果ファイルに同様のテキストを表示しますか?
>gi40
CCCCCC
>gi01
BBBBBB
>gi02
AAAAAA
>gi30
BBBBBB
Result.txt
>gi17
AAAAAA
>gi30
BBBBBB
>gi40
CCCCCC
>gi92
DDDDDD
>gi50
EEEEEE
>gi81
FFFFFF
FILE2.TXT:
>gi17
AAAAAA
>gi30 ???
BBBBBB ???
>gi92
DDDDDD
>gi01
BBBBBB
>gi50
EEEEEE
>gi81
FFFFFF
>gi02
AAAAAA
>gi30 ???
BBBBBB ???
差分声明:
$ diff C:/Users/User/Desktop/File1.txt C:/Users/User/Desktop/File2.txt > C:/Users/User/Desktop/Result.txt
ここ
はFILE1.TXTです
それはdefferentとして
>gi30
BBBBBB
を表示するのはなぜ?
編集1: 私が欲しいのは二つのファイルが順序付けされていないと私は彼ら(遺伝子データ)を触れることができないので、ファイル全体2内のファイル1内の各ラインの発生を検索することです。
編集2: 私のPHPコードからjoinコマンドを実行します。それはCMDアプリケーションをcygwinの中で正常に実行しかし、それは私のPHPから
shell_exec("C:\\cygwin64\\bin\\bash.exe --login -c 'join -v 1 <(sort $OldDatabaseFile.txt) <(sort $NewDatabaseFile.txt) > $text_files_path/DelSeqGi.txt 2>&1'");
を実行しなかったおかげ。
'diff'でも順番に違いをチェックします。 2つのシンプルなファイルを試してみてください。それぞれのファイルの番号は1から5ですが、順序は異なります。 diffはそれらすべてを表示します。 – fedorqui
@fedorqui OMG!オーダーを無視し、whoeファイルのオカレンスを検索する方法はありますか? – sara
@ saraはあらかじめファイルをソートします。 – 123