4つの列と7,000行の大容量ファイルがあります。 2番目の列の先頭が4番目の列の先頭と同じ行を削除する必要があります。
入力する:
Gator_locus75 AATTCCATGTACG Gator_locus23 CTAGAGGAAGT
Gator_locus18 AATTCCATTATGG Gator_locus14 AATTCAAAAAAT
Gator_locus13 CTAGAACCCACC Gator_locus72 CTAGAATGTATG
Gator_locus16 AATTCATCCTCT Gator_locus15 CTAGATTGCCAA
Gator_locus24 CTAGAGCTGCTG Gator_locus12 AATTCAGTCCAC
出力:
Gator_locus75 AATTCCATGTACG Gator_locus23 CTAGAGGAAGT
Gator_locus16 AATTCATCCTCT Gator_locus15 CTAGATTGCCAA
Gator_locus24 CTAGAGCTGCTG Gator_locus12 AATTCAGTCCAC
2番目の列の文字列が「AATT」で始まり、同じ行の4列目の文字列が「AATT」で始まる行を削除する必要があります。 2番目の列の文字列が「CTAG」で始まり、4番目の列の文字列が「CTAG」で始まる場合でも、同じことを行う必要があります。
ベストアンサー1
列2の最初の4文字が列4の最初の4文字と等しくない行を印刷するには、次のようにします.
awk 'substr($2, 1, 4) != substr($4, 1, 4)' < input
これは、基本コードを「テスト」として使用して、行を印刷する必要があるかどうかを確認します。基本的な印刷ジョブが私たちが望むものなので、明示的な作業部分はありません。基本コードは、各列から最初の4文字を抽出して比較します。