두 개의 테이블 파일이 있는데 다음과 같이 결합하고 싶습니다.
파일A.out
Well Sample Name Sample Color
A1 B1000-1-KF "RGB(132,193,241)"
A1 B1000-1-KF "RGB(132,193,241)"
A2 B500-3-KF "RGB(168,255,222)"
A2 B500-3-KF "RGB(168,255,222)"
파일B.아웃
Well Cycle Target Name Rn ΔRn
A1 1 Ngene 433375.375 -2322.9575
A1 2 Ngene 435992.3438 -1616.2767
A1 3 Ngene 438522 -996.9085
A1 4 Ngene 441353 -76.1964
A2 1 Ngene 541226.1875 13234.6875
A2 2 Ngene 514756.8125 -13234.6875
A2 3 Ngene 517349.2188 -10642.2812
A2 4 Ngene 521414.875 -6576.625
나는 C.out을 원한다:
Well Cycle Target Name Rn ΔRn Sample Name
A1 1 Ngene 433375.375 -2322.9575 B1000-1-KF
A1 2 Ngene 435992.3438 -1616.2767 B1000-1-KF
A1 3 Ngene 438522 -996.9085 B1000-1-KF
A1 4 Ngene 441353 -76.1964 B1000-1-KF
A2 1 Ngene 541226.1875 13234.6875 B500-3-KF
A2 2 Ngene 514756.8125 -13234.6875 B500-3-KF
A2 3 Ngene 517349.2188 -10642.2812 B500-3-KF
A2 4 Ngene 521414.875 -6576.625 B500-3-KF
따라서 각 파일의 첫 번째 열이 키이고 B.out과 A.out을 모두 두 번째 열에 배치하려고 합니다.
지금까지 나는 다음을 수행했습니다.
awk -F'\t' -vOFS="\t" 'NR==FNR{a[$1]=$1;next}{print $0,a[$2]} B.out A.out > C.out
하지만 작동하지 않습니다. 어떤 아이디어가 있습니까?
감사해요
답변1
노력하다
awk -F'\t' -vOFS="\t" 'NR==FNR{a[$1]=$2;next}{print $0,a[$1]} ' A.out B.out
어디
$1
첫 번째 파일의 키와$2
값 입니다- 두 번째 파일에서는 키에서 값을 가져옵니다.
$1
이것은 나에게 준다
Well Cycle Target Name Rn ΔRn Sample Name Sample Color
A1 1 Ngene 433375.375 -2322.9575 B1000-1-KF
A1 2 Ngene 435992.3438 -1616.2767 B1000-1-KF
A1 3 Ngene 438522 -996.9085 B1000-1-KF
A1 4 Ngene 441353 -76.1964 B1000-1-KF
A2 1 Ngene 541226.1875 13234.6875 B500-3-KF
A2 2 Ngene 514756.8125 -13234.6875 B500-3-KF
A2 3 Ngene 517349.2188 -10642.2812 B500-3-KF
A2 4 Ngene 521414.875 -6576.625 B500-3-KF
답변2
주문하다
for i in A1 A2; do o=`awk -v i="$i" '$1 == i {if(!seen[$2]++){print $2}}' f1`; awk -v i="$i" -v o="$o" 'BEGIN {print "Well Cycle Target Name Rn ΔRn Sample Name" } $1 == i {print $0,o}' f2; done
산출
Well Cycle Target Name Rn ΔRn Sample Name
A1 1 Ngene 433375.375 -2322.9575 B1000-1-KF
A1 2 Ngene 435992.3438 -1616.2767 B1000-1-KF
A1 3 Ngene 438522 -996.9085 B1000-1-KF
A1 4 Ngene 441353 -76.1964 B1000-1-KF
Well Cycle Target Name Rn ΔRn Sample Name
A2 1 Ngene 541226.1875 13234.6875 B500-3-KF
A2 2 Ngene 514756.8125 -13234.6875 B500-3-KF
A2 3 Ngene 517349.2188 -10642.2812 B500-3-KF
A2 4 Ngene 521414.875 -6576.6 B500-3-KF