이와 같은 파일이 있습니다. 이름을 file1로 지정하세요.
chr1 24018319 + a
chr1 24019249 + b
chr1 24020403 + c
chr1 24021281 + d
chr1 24022398 + e
chr1 45241272 + f
chr1 45241812 + g
chr1 45242446 + h
chr1 45243461 + I
chr1 45243801 + j
다른 입력 파일이 있습니다. 그것들은 다음과 같습니다:
chr1 24018319 0 +
chr1 24019249 22.4309 +
chr1 24020403 64.302 +
chr1 24021281 20.9355 +
chr1 24022398 32.8987 +
chr1 45241272 1.49539 +
chr1 45241812 318.519 +
chr1 45242446 207.86 +
chr1 45243461 112.155 +
chr1 45243801 67.2927 +
이러한 다른 파일은 첫 번째 파일인 file1과 비교하여 줄 수가 동일합니다.
각 파일의 세 번째 열을 첫 번째 파일 1에 추가하고 싶습니다(행이 동일하기 때문에). 붙여넣기 명령을 시도했지만 작동하지 않습니다.
나는 다음과 같은 출력을 원합니다 :
chr1 24018319 + a 0
chr1 24019249 + b 22.4309
chr1 24020403 + c 64.302
chr1 24021281 + d 20.9355
chr1 24022398 + e 32.8987
chr1 45241272 + f 1.49539
chr1 45241812 + g 318.519
chr1 45242446 + h 207.86
chr1 45243461 + I 112.155
chr1 45243801 + j 67.2927
나는 무엇을 해야 합니까? 나는 이것을 시도했다
paste -d "\t" file $(cut -f 3 file2) $(cut -f 3 file3)
하지만 이건 작동하지 않아
감사해요
답변1
아래 명령은 예제에서 요청한 출력을 어느 정도 생성하지만 공백은 유지하지 않습니다.
$ join -j 2 -o 1.1 1.2 1.3 1.4 2.3 file1 file2
chr1 24018319 + a 0
chr1 24019249 + b 22.4309
chr1 24020403 + c 64.302
chr1 24021281 + d 20.9355
chr1 24022398 + e 32.8987
chr1 45241272 + f 1.49539
chr1 45241812 + g 318.519
chr1 45242446 + h 207.86
chr1 45243461 + I 112.155
chr1 45243801 + j 67.2927
$