두 개의 추가 열이 있는 파일을 큰 테이블에 추가하시겠습니까?

두 개의 추가 열이 있는 파일을 큰 테이블에 추가하시겠습니까?

동일한 수(길이 48554)의 매우 큰 파일에 두 개의 열(한 파일에 있음)을 붙여넣어야 합니다. 나는 이것을 시도했다

탭으로 구분된 열이 있는 두 개의 파일이 있습니다. 파일 1은 다음과 같습니다.

헤더_1 헤더_2

0 23

1 25

파일 2는 다음과 같습니다.

Header_3 header_4

2 24

3 26

내가 원하는 것은 이것이다:

Header_1 header_2 Header_3 header_4

0 23 2 24

1 25 3 26

예를 들어 붙여넣기를 시도했습니다.

파일 1 파일 2 붙여넣기 |

  • 하지만 나는 그것을 이해합니다:
Header_1 header_2

0 23

1 25 Header_3

header_4

2 24

3 26
  • 즉, 문제는 필요에 따라 +5000 열 행렬로 두 개의 추가 열을 나란히 추가하는 대신 붙여넣기가 파일 2의 새 열을 파일 1의 마지막 열 아래쪽에 추가한다는 것입니다.

    내가 뭘 잘못했나요?

답변1

구분 기호는 탭이라기보다는 공백처럼 보이지만 paste제게는 잘 작동합니다.

시도해 볼 수 있는 대안

join <(nl file1) <(nl file2) | cut -d' ' -f2-5

또는

awk '{ if (FNR==NR) {F[NR]=$1;G[NR]=$2; next}; {printf "%s\t%s\t%s\t%s\n", $1, $2, F[FNR], G[FNR]}}' file2 file1

답변2

실제로 두 파일을 테이블/데이터프레임으로 가져와서 R에서 작동하게 할 수 있습니다.

 file1<-read.table("file1.txt") 
 file2<-read.table("file2.txt")

그런 다음 cbind를 사용하십시오.

combined.txt <- cbind(file1, file2)

하지만 나에게도 효과가 있는 간단한 UNIX 기능이 있을 수 없다는 사실을 이해하는 데 어려움을 겪고 있습니다.

관련 정보