앗 한 줄

앗 한 줄

여러 줄을 하나로 컴파일하기 위해 awk 스크립트를 사용하려고 합니다. 어떻게 해야 합니까?

나는 다음 명령을 사용하고 있습니다 :

awk < $pot/towhee.prod 'NR==411{print$5,$6}''NR==412{print$5,$6}''NR==430{print$7,$8}' 

이는 다음을 생성합니다.

0.24975E-01 0.00000E+00
0.36574E+04 0.59343E+02
-3340.691 0.399

하지만 나는 이것을 원한다:

0.24975E-01 0.00000E+00 0.36574E+04 0.59343E+02 -3340.691 0.399

어떻게 해야 합니까?

답변1

설정할 수 있습니다출력 레코드 구분 기호공백(또는 탭)으로 이동합니다. 인쇄물에 개행 문자가 끝나도록 하려면 최종 인쇄 전에 이를 다시 변경할 수 있습니다.

awk 'BEGIN{ORS=" "} NR==411{print$5,$6}''NR==412{print$5,$6}''NR==430{ORS="\n"; print$7,$8}'

답변2

printf를 사용하지 않는 한 줄 바꿈이 없는 등 인쇄 형식을 더 효과적으로 제어할 수 있습니다 \n.

awk < $pot/towhee.prod 'NR==411{printf("%s %s ",$5,$6)}''NR==412{printf("%s %s ",$5,$6)}''NR==430{printf("%s %s ",$7,$8)}' 

%s 변수를 나타내는 문자열 형식입니다.기타 제어 문자 사용 가능각 변수의 형식을 더 효과적으로 제어할 수 있습니다.

답변3

이 시도,

awk < $pot/towhee.prod 'NR==411{print$5,$6}''NR==412{print$5,$6}''NR==430{print$7,$8}' | tr '\n' ' '

관련 정보