shell 脚本问题
在awk如何使用$变量。
例如:
for i in seq 1 10
;do
SUM=`awk -F: 'BEGIN {sum=0} NR==$i { sum+=$3+$4+$5 }END{ print sum }' test`
echo $SUM
done
test 文件内容:
ke Harrington:(510) 548-1278:250:100:175
Christian Dobbins:(408) 538-2358:155:90:201
Susan Dalsass:(206) 654-6279:250:60:50
Archie McNichol:(206) 548-1348:250:100:175
Jody Savage:(206) 548-1278:15:188:150
Guy Quigley:(916) 343-6410:250:100:175
Dan Savage:(406) 298-7744:450:300:275
Nancy McNeil:(206) 548-1278:250:80:75
John Goldenrod:(916) 348-4278:250:100:175
Chet Main:(510) 548-5258:50:95:135
Tom Savage:(408) 926-3456:250:168:200
Elizabeth Stachelin:(916) 440-1763:175:75:300
但是awk中$变量是指文件中的列,而无法实现$i.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
awk是不能直接使用shell变量的,提供了-v选项将shell变量传递给awk,使用方法类似如下:
另外如果要处理文本中前十行或者指定几行,awk即可独立完成: