Awk替代模式

Ted*_*345 4 awk

我有两个示例文件:

文件1:

Bolek
jeden(wzór1)
Lolek
dwa(wzór2)
trzy(wzór3)
Run Code Online (Sandbox Code Playgroud)

文件2:

czerwony
zielony
niebieski
Run Code Online (Sandbox Code Playgroud)

我试过这个命令:

awk '{while(getline a < "file2"); sub(/wzór1/, a); print }' file1
Bolek
jeden(niebieski)
Lolek
dwa(wzór2)
trzy(wzór3)
Run Code Online (Sandbox Code Playgroud)

我想wzór1在"file2"的内容上替换"file1".我要打印:

Bolek
jeden(czerwony
zielony
niebieski)
Lolek
dwa(wzór2)
trzy(wzór3)
Run Code Online (Sandbox Code Playgroud)

Gur*_*uru 6

单程:

$ awk -v val="$(<file2)" '{sub(/wzór1/,val);}1' file1
Bolek
jeden(czerwony
zielony
niebieski)
Lolek
dwa(wzór2)
trzy(wzór3)
Run Code Online (Sandbox Code Playgroud)

file2的内容被读入变量" cont".传递此变量awk并将wzor1的所有出现替换为变量内容.

  • +1但是试试:`awk -v val ="$(<file2)"'...` (3认同)