awk를 사용하여 여러 파일을 병합하는 방법

awk를 사용하여 여러 파일을 병합하는 방법

파일이 2개 있어요

파일 1:

Fruits
Mango
Orange
Banana

파일 2:

Cost
100
80
40

예상 출력:

Fruits    Cost
Mango  100
Orange  80
Banana  40

어떻게 해야 합니까 awk?

답변1

paste대신 에 이것을 사용하십시오 awk. 예를 들어

$ paste file1 file2
Fruits  Cost
Mango   100
Orange  80
Banana  40

기본 출력 열 구분 기호 paste는 탭입니다. 이 -d옵션을 사용하여 쉼표, 콜론, 세미콜론 또는 원하는 것을 사용할 수 있습니다 .

답변2

awk를 사용하려면:

awk '{print $0, ((getline x < "-") == 1 ? x : "")}' file1 < file2

테스트의 반환 값 getline(성공 시 1 반환)에 따라 값을 인쇄합니다.

답변3

Perl유틸리티를 사용하면 아래와 같이 두 파일을 나란히 붙여넣을 수 있습니다.

perl -pe '
  ($_ .= <STDIN>) =~ s/\n/ /;
' file1 < file2

GNU sed스트림 편집기 버전을 사용하면 이 두 파일을 다음과 같이 붙여넣을 수 있습니다.

sed -e 'R file2' file1| sed -e 'N;s/\n/ /'

유틸리티를 사용하여 python매핑 기능을 통해 두 파일을 붙여넣습니다.

python3 -c 'import sys
file1,file2 = sys.argv[1:]
with open(file1) as f1, open(file2) as f2:
  print(*list(map(lambda x,y: f"{x.rstrip()} {y}",f1,f2)),sep="",end="")
' file1 file2

관련 정보