如何用用awk将一个文本某列的内容替换到另一个
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
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询