2017-09-07 29 views
0

元々、いくつかの条件で読み込むファイルは1つだけです。ここにコードは...AWKを使用して2つの同様のファイルを読み込み

awk -vid="$name" -F',' 'BEGIN{counter=0;}{if($15=="true"){counter++}}END{print id,counter}' file1 

このコードは正しく機能しました。

しかし、今では2つのファイルを読み込む必要があります。 2つのファイルの唯一の違いは、file2に1つの余分な列があることです。 file1には16の列があり、file2には17の列があります。 FILE1の行がFILE2に存在することインスタンス(プラス追加の列)

可能なケースが存在するであろう:(余分な列を無視)

  1. はFILE1の行がFILE2に存在する
  2. file1の行はfile2とは異なります
  3. file1とfile2の行は、15番目の列(trueまたはfalseの場合は上記のコードの条件に見られるように)を除いて同様です。

さて、私の問題は、私は...このように、上記のコードにFILE2を追加した場合、そのエントリは両方のファイルに存在する場合

awk -vid="$name" -F',' 'BEGIN{counter=0;}{if($15=="true"){counter++}}END{print id,counter}' file1 file2 

awkのが二回同じエントリをカウントすることです。

質問:file1とfile2のマージ以外に複製を確認する方法はありますか?

+0

ファイルと予想される出力の両方からいくつかのサンプルを投稿してください。 –

答えて

0

あなたが何かのように言いたいことがあります。ところで

awk -vid="$name" -F',' 'BEGIN{counter=0;}{if($15=="true" && !done[$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14]++){counter++}}END{print id,counter}' file1 file2 

フラグメント「END {印刷名は、カウンタが}」元のコードに「END {プリントID、カウンタ}」のタイプミスもshoud、ではない?

+0

はい。そのために残念。私はすでにそれを編集しました。 –

関連する問題