유닉스 쉘 스크립트: 2개의 다른 텍스트 파일의 데이터(라인) 병합

유닉스 쉘 스크립트: 2개의 다른 텍스트 파일의 데이터(라인) 병합

파일에는 많은 항목이 있지만 샘플 릴리스의 경우 파일당 2개의 항목만 있습니다. 파일 1의 첫 번째 줄을 파일 2의 첫 번째 줄과 병합하고 싶습니다. 예는 다음과 같습니다.

파일 1.txt

Start Date: 2019-01-08 04:14:59; End Date: 2019-01-08 04:15:50; Difference in seconds = 51
Start Date: 2019-01-08 04:16:57; End Date: 2019-01-08 04:17:02; Difference in seconds = 5

파일 2.txt

Fnb_dm__exachange_rollback_character
dnb_exchange_brm_rollback_character

나는 다음과 같은 출력을 원합니다 :

Fnb_dm__exachange_rollback_character :Start Date: 2019-01-08 04:14:59; End Date: 2019-01-08 04:15:50; Difference in seconds = 51
dnb_exchange_brm_rollback_character :Start Date: 2019-01-08 04:16:57; End Date: 2019-01-08 04:17:02; Difference in seconds = 5

ksh를 사용하여 이를 수행하는 방법은 무엇입니까?

답변1

paste다음 명령을 사용할 수 있습니다. 예를 들어 콜론 구분 기호를 사용하여 파일을 한 줄씩 병합하려면 다음 명령을 사용하세요 .

$ paste -d: file2.txt file1.txt
Fnb_dm__exachange_rollback_character:Start Date: 2019-01-08 04:14:59; End Date: 2019-01-08 04:15:50; Difference in seconds = 51
dnb_exchange_brm_rollback_character:Start Date: 2019-01-08 04:16:57; End Date: 2019-01-08 04:17:02; Difference in seconds = 5

여러 문자 구분 기호가 필요한 경우 prex를 사용할 수 있습니다.

$ pr -TmJS' :' file2.txt file1.txt
Fnb_dm__exachange_rollback_character :Start Date: 2019-01-08 04:14:59; End Date: 2019-01-08 04:15:50; Difference in seconds = 51
dnb_exchange_brm_rollback_character :Start Date: 2019-01-08 04:16:57; End Date: 2019-01-08 04:17:02; Difference in seconds = 5

답변2

아래와 같이 해봤는데 잘 되더라구요

i=`awk 'NR==1{print $0}' file1`;awk -v i="$i" 'NR==1{$0=$0i}1' file2

산출

Fnb_dm__exachange_rollback_characterStart Date: 2019-01-08 04:14:59; End Date: 2019-01-08 04:15:50; Difference in seconds = 51
dnb_exchange_brm_rollback_character

답변3

아래와 같이 해봤는데 잘 되더라구요

for i in 1 2; do j=`sed -n ''$i'p' file1`;sed -n ''$i'p' file2|sed "s/.*/&$j/g"; done

산출

Fnb_dm__exachange_rollback_characterStart Date: 2019-01-08 04:14:59; End Date: 2019-01-08 04:15:50; Difference in seconds = 51
dnb_exchange_brm_rollback_characterStart Date: 2019-01-08 04:16:57; End Date: 2019-01-08 04:17:02; Difference in seconds = 5

관련 정보