아래와 같이 두 개의 테이블이 있습니다.
1 번 테이블
TABLE_NAME COUNT
------------------------------ ------------
AIN_EDP_SCRIPT 33
AMA_CALLTYPE_LOOKUP 24
APPLICATION_INFO 0
ARS_PROFILE 0
AUTHCODE 0
AUTHCODE_GROUP 0
AUTHCODE_INFO 0
AUTHO_RIZATION 1
AUTO_RECALL_PROFILE 0
AUTO_RECALL_PROFILE_DATA 0
BG_REGISTERED_USER 0
BILLING_INFO_PROFILE 18
표 2
TABLE_NAME COUNT
------------------------------ ------------
AIN_EDP_SCRIPT 23
AMA_CALLTYPE_LOOKUP 24
APPLICATION_INFO 0
ARS_PROFILE 0
AUTHCODE 23
AUTHCODE_GROUP 0
AUTHCODE_INFO 0
AUTHO_RIZATION 1
AUTO_RECALL_PROFILE 0
AUTO_RECALL_PROFILE_DATA 34
BG_REGISTERED_USER 0
BILLING_INFO_PROFILE 18
예를 들어, 테이블 1의 열 2에서 테이블 2의 열 2를 빼고 그 결과를 아래 테이블 3에 출력하려고 합니다.
표 3
TABLE_NAME (This remain same) COUNT(Table2-Table1)
------------------------------ ------------
AIN_EDP_SCRIPT 33
AMA_CALLTYPE_LOOKUP 24
APPLICATION_INFO 0
ARS_PROFILE 0
AUTHCODE 0
AUTHCODE_GROUP 0
AUTHCODE_INFO 0
AUTHO_RIZATION 1
AUTO_RECALL_PROFILE 0
AUTO_RECALL_PROFILE_DATA 0
BG_REGISTERED_USER 0
BILLING_INFO_PROFILE 18
Bash에서 이 작업을 수행하는 방법을 알려주실 수 있나요?
답변1
다음은 값 차이가 있는 테이블을 만드는 한 가지 방법입니다.
paste table1 table2 | awk 'NR<=2 { print $1, $2 ; next } { print $1, $4-$2 }'
(참고: 원본 파일과 동일한 형식이 되도록 하려면 printf
대신 print
적절한 형식 지정자를 사용하세요.)
편집: 다음은 다음을 사용하는 위 명령(조건부 연산자 사용)의 변형입니다 printf
.
paste table1 table2 | awk '{ printf "%-30s %12s\n", $1, NR<=2 ? $2 : $4-$2 }'