Linux下shell编程 有一个文本A.txt内容如下 a 1 2 3 b 4 5 6 c 7 100

Linux下shell编程有一个文本A.txt内容如下a123b456c789还有一个变量n(用户赋值)现在想把文本第三列前两行的数据变成原来的n倍,结果存入新的文本中,... Linux下shell编程
有一个文本A.txt内容如下
a 1 2 3
b 4 5 6
c 7 8 9
还有一个变量n(用户赋值)
现在想把文本第三列前两行的数据变成原来的n倍,结果存入新的文本中,
假设n赋值为10
得到的结果如下:
a 1 2 30
b 4 5 60
c 7 8 9
该如何写命令,谢谢!
展开
 我来答
匿名用户
2015-04-29
展开全部
cat a.txt |awk '{if(NR<3) {print $1,$2,$3,$4*10} else {print $0}}'
追问
如果要使用变量 如何完成 就是说 如何把变量n的值传入到awk里面去
追答
写一个shell脚本,比如ch.sh,内容为:
cat a.txt |awk "{if(NRb.txt
运行 ./ch.sh 30 即可为30x. 结果在b.txt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
文明史5
2015-04-29 · TA获得超过1628个赞
知道小有建树答主
回答量:933
采纳率:66%
帮助的人:174万
展开全部
用sed命令
先查找 找到后写入新文件
追问
您好  能不能具体一点  还是不大会
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式