5列に点がある場合、行を削除

5列に点がある場合、行を削除

ファイルがあり、5番目の列にドットがある場合は、すべての行を削除したいと思います。

入力ファイル:

sc2/80         20      .        A        C        80      PASS    N=2       F=5;U=4
sc2/60         55      .        G        .        72      PASS    N=2       F=5;U=4 
sc2/68         20      .        T        A        71      PASS    N=2       F=5;U=4 
sc2/10         24      .        T        .        31      PASS    N=2       F=5;U=4
sc2/40         59      .        T        .        31      PASS    N=2       F=5;U=4
sc2/24         24      .        A        G        38      PASS    N=2       F=5;U=4

予想出力:

sc2/80         20      .        A        C        80      PASS    N=2       F=5;U=4
sc2/68         20      .        T        A        71      PASS    N=2       F=5;U=4
sc2/24         24      .        A        G        38      PASS    N=2       F=5;U=4

注:ファイルサイズは64Gで、690,000,000行を含みます。かなり大きなデータセットなので、効率的なソリューションはありますか?私はこの分野が初めてなので、AwkとSedを好みます。ご協力ありがとうございます。

ベストアンサー1

あなたはこれを試すことができます

awk '{ if ( $5 != "." ) { print $0; } }' input_file.Txt > output_file.txt

5番目の列が点でないことをテストし、線を表示します。

おすすめ記事