に出力関数diffの内容を、私はそうのようなファイルを持っている:bashの:2列
file1.txt
rs13339951:45007956:T:C 45007956
rs2838331 45026728
rs5647 12335
rs4687576 5353566
file2.txt
rs13339951 45007956
rs2838331 45026728
rs5647 12335
rs4687576:ATCFHF 5353566
詳しい説明:
- は、カラム1の値の一部は、2つのファイル間で同一であり、しかし、column2のではないすべての
- 値は、すべての2つのファイル間で同一である 私は識別したい
2つのファイル間でcolumn1の値が異なる行。私。これらの行1と4は私の例です。 diff file1.txtとfile2.txtでこれを行うことができます。
しかし、このようなエンドファイルを取得したいと思います(下記参照)。実際には、sedを使用して、一方のファイルの名前を他方のファイルの名前に置き換えて、両方のファイルが完全に一致するようにします。
rs13339951:45007956:T:C rs13339951
rs4687576 rs4687576:ATCFHF
何を試しましたか?あなたは 'awk'あるいは多分' join'でこれを行うことができます。 – codeforester
私は次のようなことを考えていました: diff file1.txt file2.txt | grep \^\ <| sed's/< //' > part1.txt diffファイル1.txtファイル2.txt | grep \^\> | sed's /> // '> part2.txt そして、何らかの形で、上記のような1つのファイルを取得するために位置に基づいて2つのファイルを照合します。それはちょうどかなり不器用で退屈なようです。私は同時に500以上のファイルに対してこれを行う必要がありますので、1つのコマンドがうまくいくでしょう。 – m93