두 파일의 첫 번째 열을 비교하고 파일 1의 세 번째 열을 파일 2의 네 번째 열로 바꿉니다.

사친

파이프로 구분 된 두 파일 사이의 첫 번째 열을 비교해야하는 요구 사항이 있으며 일치하는 경우 파일 1의 세 번째 열을 파일 2의 네 번째 열로 바꿔야합니다.

파일 1 :

111|xyz|23345
222|abc|123
333|xyz|45667
444|xyz|5432
555|xyz|8976

파일 2 :

111|xyz|344|rtms
222|abc|222|xyzw
666|xyz|ggg|abde
888|xyz|ff|nnnn
333|xyz|dd|abde
444|xyz|vv|nnnn
555|xyz|bbb|uuyytt

결과물 파일:

111|xyz|rtms
222|abc|xyzw
333|xyz|abde
444|xyz|nnnn
555|xyz|uuyytt
Ron

awk임시 파일 이 필요없는 한 줄짜리 :

join -t '|' -j1 -o 1.1 1.2 2.4 <(sort -t'|' -k1,1 file1) <(sort -t '|' -k1,1 file2)

join모두 사용 awk:

먼저 첫 file2번째 필드를 기준으로 정렬 하고 저장합니다.file2.sort

sort -k 1 file2 > file2.sort

이제 "|"사용 구분 기호로 join file1file2.sort. 그런 다음 다시 "|"사용 구분 기호로를 사용하여 필요한 열을 추출하십시오 awk.

join -t '|' file1 file2.sort | awk -F  "|" ' {print $1"|"$2"|"$6}'

출력은 다음과 같습니다.

ron@ron:~$ join -t '|' file1 file2.sort | awk -F  "|" ' {print $1"|"$2"|"$6}'
111|xyz|rtms
222|abc|xyzw
333|xyz|abde
444|xyz|nnnn
555|xyz|uuyytt

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관