한 파일의 줄을 다른 파일에 줄로 추가합니다.

한 파일의 줄을 다른 파일에 줄로 추가합니다.

다음 내용이 포함된 file1이 있습니다.

파일 1

이 6개 열은 6개의 서로 다른 호스트에서 가져온 다음 "-exec cp" 명령을 사용하여 렌더링됩니다. 이는 참고용입니다.

이제 file1의 첫 번째 줄에 추가하려는 6개의 호스트 이름(file2) 목록이 있습니다.

file2의 내용은 다음과 같습니다.

HOST1 
HOST2 
HOST3 
HOST4 
HOST5 
HOST6 

이와 같은 최종 출력이 필요합니다.

최종 출력

열은 추가할 수 있지만 행은 추가할 수 없습니다.

답변1

한 가지 방법은 다음과 같습니다.

awk -vhead="$(tr '\n' ' ' <file2)" 'BEGIN{print head}{print}' file1 > newfile

tr명령은 줄 바꿈을 공백으로 대체하여 "열"을 file2"행"으로 변환합니다. 이는 awk변수로 전달되어 head다른 것보다 먼저 인쇄됩니다. 그런 다음 입력 파일의 각 줄을 인쇄하면 됩니다.

또는 다음 위치에서 전체 작업을 완료할 수 있습니다 awk.

awk 'NR==FNR{printf "%s ",$0; next}FNR==1{print ""}1;' file2 file1 > newfile

NR현재 입력 줄 번호와 FNR현재 파일의 줄 번호입니다. 두 파일은 첫 번째 파일을 읽는 경우에만 동일합니다. 후행 a 없이 printf "%s ",$0; next현재 줄을 인쇄 하고 다음 줄로 점프합니다. \n인쇄 제목 뒤에 하나를 추가하면 FNR==1{print ""}"이 줄 인쇄"의 약어입니다.\n1;awk

답변2

( echo $(cat file2) ; cat file1 ) | column -t > file3

관련 정보