複数のフィールドを含むカンマ区切りのファイルがあります。
例:
candidate1,12,56,ATTG
candidate2,45,90,ATTG
candidate3,90,140,ATTG
candidate4,2,36,AGCT
それでは、答えを知っている人はいますか?
答え1
candidate1
列1などに基づいて一意の行を印刷する必要があるとしますcandidate2
。これにより、行candidate1
などの最初のインスタンスが印刷されます。列2に基づいて行のみを印刷するには、次の$1
ように変更します。$2
awk -F, '!($1 in arr){print} {arr[$1]++}' file_name
答え2
すべてのフィールドが次のようにコンマで区切られている場合
1, candidate1,12,56,ATTG
2, candidate2,45,90,ATTG
3, candidate3,90,140,ATTG
4, candidate4,2,36,AGCT
だからあなたはこれをする
$ grep -E 'candidate1 | candidate3'ファイル名| awk -F, '{print $0}' 1.候補1,12,56,ATTG 3. 候補者 3,90,140,ATTG
単一行の別の例
$ catファイル名| egrep 'candidate3' | awk -F, '{print $0}' 3. 候補者 3,90,140,ATTG