awk를 사용하여 sed 읽기 명령 시뮬레이션

awk를 사용하여 sed 읽기 명령 시뮬레이션

다음을 사용하여 자극하고 싶습니다 sed.

sed  '3r awk.scr' awk.script

그리고 awk.scr:

a
b
c 
d 
e 
f

그리고 awk.script다음과 같이:

hello there is
hello i'am there is
hello sdfdf
dfdfdf aads
23213 3 434

여기에 사용됨 awk:

awk 'BEGIN {while((getline gf < "awk.script") > 0) {print gf; if(++i > 2) break;} {while((getline bf < "awk.scr")> 0 ) { print bf}}}'

하지만 너무 복잡하고 쉬운 방법이 없습니다.

원하는 출력:

hello there is
hello i'am there is
hello sdfdf
a
b
c
d
e
f

답변1

더 간단한 접근 방식은 다음과 같습니다.

awk 'FNR == 3 {print;while(getline < "awk.scr") print; next};1' awk.script

또는:

awk 'FNR == 4 {while(getline < "awk.scr") print};1' awk.script

이 접근 방식을 사용하면 주의를 기울이기만 하면 됩니다 awk.scr. awkWill이 awk.script대신 처리해 줍니다.

관련 정보