2つのフィールドの値が同じ場合、行を印刷する方法は?

2つのフィールドの値が同じ場合、行を印刷する方法は?

私はUnixに初めて触れ、データのサブセットに関する質問があります。誰の助けにも感謝します。何百万もの行を持つ23G入力ファイルがありますが、最初と4番目の列が同じ行(角かっこ名)だけを保持したいと思います。私のデータセットの最初の数行は次のとおりです。

tscaffold94_798049_802097   999 NA tscaffold94_798049_802097   999 NA 1
tscaffold94_798049_802097   999 NA tscaffold94_798049_802097  1029 NA 1
tscaffold94_798049_802097   999 NA tscaffold94_798049_802097  1044 NA -0.0463767871013283
tscaffold94_798049_802097   999 NA tscaffold94_798049_802097  1045 NA -0.939576278422824
tscaffold94_798049_802097   999 NA tscaffold94_798049_802097  1130 NA -0.0831304705346077
tscaffold94_798049_802097   999 NA tscaffold94_798049_802097  1180 NA -0.931681175211672
tscaffold94_798049_802097   999 NA tscaffold94_798049_802097  1187 NA -0.940010336852543
tscaffold94_798049_802097   999 NA tscaffold94_798049_802097  1202 NA 1
tscaffold94_798049_802097   999 NA tscaffold94_798049_802097  1224 NA 1
tscaffold94_798049_802097   999 NA tscaffold94_798049_802097  1269 NA 1
tscaffold94_798049_802097   999 NA tscaffold94_798049_802097  1313 NA -0.201478578143067
tscaffold94_798049_802097   999 NA tscaffold94_798049_802097  1384 NA 1
tscaffold94_798049_802097   999 NA tscaffold94_878564_884314  3259 NA -0.595441932439136
tscaffold94_798049_802097   999 NA tscaffold94_878564_884314  3304 NA 0.745699172241005
tscaffold94_798049_802097   999 NA tscaffold94_878564_884314  3319 NA -0.570318634275133
tscaffold94_798049_802097   999 NA tscaffold94_878564_884314  3588 NA -0.60363963711489

ベストアンサー1

awkこの場合、列はスクリプトの変数になるため、同等awk性を簡単に確認し、印刷(現在行を暗示)などの操作を実行できます。

awk '{if($1 == $4) print}' < input

おすすめ記事