如何用用awk将一个文本某列的内容替换到另一个

2025-04-29 18:07:58
推荐回答(1个)
回答(1):

这里用 awk 没有 sed 方便,例如要将 b.txt 的第 3 行替换成 a.txt 的第 2 行(数字请自己替换)

1
2

export s=`awk 'NR==2' a.txt`
awk 'NR==3{$0=ENVIRON["s"]};1' b.txt > c.txt

s=`awk 'NR==2' a.txt` 表示将第2行赋值给s, $0=ENVIRON["s"] 表示替换,结果存在c.txt
用 sed 解决更方便

1

sed -i "3s/.*/`sed -ne 2p a.txt`/" b.txt

直接修改 b.txt