유닉스 명령어 join을 이용하여 renumbering을 수행

 

ped2.txt

 

a1 0 0
a2 0 0
a3 a1 a2
a4 a1 0
a5 a4 a3
a6 a5 a2

다음 일련의 유닉스 명령어 수행

 

cat ped2.txt

: ped2.txt의 내용 보기

nl ped2.txt | awk "{print $2, $1}" > ped2.sno

: 번호를 붙임 -> 2열 1열을출력 -> ped2.sno에 저장

cat ped2.sno

: ped2.sno의 내용 보기

sort ped2.txt -o ped2.txt2

: ped2.txt를 정렬하여 ped2.txt에 저장

cat ped2.txt2

: ped2.txt 내용 보기

sort ped2.sno-o ped2.sno

: ped2.sno를 정렬하여 ped2.sno에 저장

cat ped2.sno

: ped2.sno 내용 보기

join ped2.txt ped2.sno > ped2.txt3

: ped2.txt ped2.sno를 join하여 ped2.txt3에 저장

cat ped2.txt3

: ped2.txt3 내용 보기

sort -k 2 ped2.txt3 > ped2.txt4

: ped2.txt3를 2열 기준으로 정렬하여 ped2.txt4로 저장

cat ped2.txt4

: ped2.txt4 내용 보기

join -a1 -1 2 -o 1.1,1.2,1.3,1.4,2.2 -e "0" ped2.txt4 ped2.sno > ped2.txt5

: ped2.txt4와 ped2.sno를 join하여 ped2.txt5에 저장

: -a1 : 두 파일이 일치하지 않는 record가 있을 경우 첫째 파일 내용 모두 표시(outer left join)

: -1 2 첫째 파일의 2열이 join의 기준

: -o 1.1,1.2,1.3,1.4,2.2 : 첫째 파일의 1열, 2열, 3열, 4열, 둘째 파일의 2열 출력

: -e "0" : missing value를 0로 표시

sort -k 3 ped2.txt5 > ped2.txt6

: ped2.txt5를 3열 기준으로 정렬하여 ped2.txt6에 저장

cat ped2.txt6

: ped2.txt6의 내용 보기

join -a1 -1 3 -o 1.1,1.2,1.3,1.4,1.5,2.2 -e "0" ped2.txt6 ped2.sno > ped2.txt7

: ped2.txt6과 ped2.sno를 join하여 ped2.txt7에 저장

cat ped2.txt7

: ped2.txt7 내용 보기

sort -nk 4 ped2.txt7-o ped2.ren

: ped2.txt7를 4열을 기준으로 정렬하여 ped2.ren에 저장

cat ped2.ren

: ped2.ren 내용 보기

 

 

 

+ Recent posts