그래서 다음과 같은 텍스트 파일이 많이 있습니다.
T1
r1 abcd
r2 defg
...T2
r1 hijk
r2 lmno
...
다음 형식의 네 가지 텍스트 파일을 만들고 싶습니다.
__ T1 T2 ...
r1 아 ...
r2 dl ...__ T1 T2 ...
r1 bi ...
r2 em ...
기본적으로 특정 수의 파일이 있습니다. 각각 온도를 선택한 다음 자기장(T1...온도; r1, r2, ..자기장)을 실행하면 a, b, c, d 등이 4가지 다른 계산으로 이루어지며 각 열은 고유합니다. 각 T(파일)의 첫 번째 열을 파일로 컴파일하여 Excel에 복사한 다음 각 T의 두 번째 열을 다른 파일로 컴파일하고 동일한 작업을 수행할 수 있기를 원합니다. 누군가 내 파일과 정확히 동일한 형식이 되도록 데이터를 넣는 방법을 알려줄 수 있다면 내 문제를 자세히 설명할 수 있습니다.
답변1
T1, T2가 4개 입력 파일의 이름이라고 가정합니다.
awk를 사용하세요:
awk 'FNR==1 { header = header " " FILENAME;
next # we want to skip the first line
}
{ rows[$1]; for(i=2;i<=NF;i++) A[$1,i] = A[$1,i] " " $i }
END { for(i=2;i<=5;i++) {
printf("__%s\n", header);
for(j in rows) printf("%s%s\n", j, A[j,i]);
}
}' T1 T2 T3 T4
그러면 필요한 모든 테이블이 포함된 출력 파일만 생성됩니다. 4개의 파일로 분할하려면 추가 작업이 필요합니다.
FILENAME
입력 파일 이름 대신 첫 번째 줄의 헤더 행을 추출하려면 $0
.