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.scrawkWillがawk.script代わりに処理します。

関連情報