求总分并且输出:
文件a.txt
学号 姓名 性别 年龄
张三 男
赵四 男
李丽 女
文件b.txt
学号 语文 数学 英语 方法1:
#!/bin/sh
paste a.txt b.txt ccc.txt
cat ccc.txt |awk 'NR==1{ printf "%10s %10s %10s %10s %10s %10s %10s\n",$1,$2,$3,$6,$7,$8,"总分"}NR>=2{{zongfen=$6+$7+$8}{printf "%10s %10s %10s %10s %10s %10s %10s\n",$1,$2,$3,$6,$7,$8,zongfen}}' 方法2:
#!/bin/sh
for i in `cat aa.txt |awk '{ print $1}'`
do
a=`grep $i aa.txt |awk '{print $1}'`
b=`grep $i aa.txt |awk '{print $2}'`
c=`grep $i aa.txt |awk '{print $3}'`
d=`grep $i aa.txt |awk '{print $4}'`
e=`grep $i bb.txt |awk '{print $2}'`
f=`grep $i bb.txt |awk '{print $3}'`
g=`grep $i bb.txt |awk '{print $4}'`
if [ $a != "学号" ]
then
sum=`grep $i bb.txt |awk '{$5=$2+$3+$4;print $5 }'`
echo $a"\t" $b"\t" $c"\t" $d"\t" "$e\t" "$f\t" $g"\t" $sum"\t"
else
echo $a"\t" $b"\t" $c"\t" $d"\t" $e"\t" $f"\t" $g"\t" "总分""\t"
fi
done

shell 求总分的更多相关文章

  1. 用shell求两个文件的差集

    假设有两个文件a.file和b.file,分别代表集合A和集合B. a.file的内容如下: abcde b.file的内容如下: cdefg 可以用grep命令 grep命令是常用来搜索文本内容的, ...

  2. shell 求模

    $ expr % $ let i=% $ echo $i $ echo % | bc $ ((i=%)) $ echo $i

  3. shell 求幂

    $ let i=** $ echo $i $ ((i=**)) $ echo $i $ echo "5^2" | bc

  4. shell 求数组的平均值,求和,最大值,最小值

    test.sh #!/bin/bash arr=( ) let min=${arr[]} let max=${min} sum= ;i<${#arr[*]};i++)) do [[ ${min} ...

  5. 最全的linux命令大全,shell运维手册

    shell实例手册 0 说明{ 手册制作: 雪松} 1 文件{        ls -rtl                 # 按时间倒叙列出所有目录和文件 ll -rt    touch file ...

  6. (转)shell实例手册

    原文地址:http://hi.baidu.com/quanzhou722/item/f4a4f3c9eb37f02d46d5c0d9 实在是太好的资料了,不得不转 shell实例手册 0说明{ 手册制 ...

  7. shell 实例

    转载自:https://github.com/liquanzhou/ops_doc    这里只作为笔记使用,不做他用 shell实例手册 0 说明{ 手册制作: 雪松 更新日期: 2018-09-1 ...

  8. shell脚本之特殊符号总结性梳理

    # 井号 (comments) 这几乎是个满场都有的符号#!/bin/bash 井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字,不会被执行. # This line ...

  9. [Erlang30]Erlang shell是如何工作的?

    一些关于Erlang启动进程的分析:希望你会喜欢. 原英文地址:http://ferd.ca/repl-a-bit-more-and-less-than-that.html 研究Erlang shel ...

随机推荐

  1. 关于在DEDECMS当中模板文件不存在的解决方案

    大家可能在生成文档的时候遇到过,模板文件不存在,无法解析  这个问题,其实这个遇到这个问题的大多数人应该是修改了默认模板的名称才导致这样的问题,如果你避免这种问题大家在一开始对模板进行命名的时候就要写 ...

  2. TatukGIS - GisDefs - ChangeDir 函数

    函数名称  ChangeDir 所在单元  GisDefs 函数原型  function ChangeDir(const _path: String): String;   函数说明 如果 _path ...

  3. 插件和过滤器装饰器开发中的感悟-python-django

    写这篇随笔是因为今天自己在写插件和过滤方法的过程中碰壁了,折腾了好久终于稍微发现些问题,在此记下,以作备忘. 在看了xadmin的插件机制后,笔者也想使用该思想来扩展kadmin中视图的方法. 例如, ...

  4. NodeJs开发学习目录

    1.Nodejs基本概念及Nodejs.npm安装测试[2014-06-06] 2.开发工具简介(主要介绍Sublime Text使用) [2014-06-06] 3.Sublime text插件安装 ...

  5. Linux查看端口号

    查看端口占用情况的命令:lsof -i 查看某一端口的占用情况: lsof -i:端口号 结束占用端口的进程:killall 进程名 也可使用命令: netstat -apn|grep <端口号 ...

  6. bzoj3864: Hero meet devil

    Description There is an old country and the king fell in love with a devil. The devil always asks th ...

  7. IOS--UISwitch的使用方法

    IOS--UISwitch的使用方法详细 (2013-08-24 11:09:38) 转载▼ 标签: uiswitch switch 选择控件 ios it 分类: iOS--UI // UISwit ...

  8. 重构oceanbase的一个函数

    我去,今天读了一下ob的源码,感觉有点乱啊!!!好吧,当作练手,我重构了一个函数 void* ObMySQLCallback::decode(easy_message_t* m) { uint32_t ...

  9. Adobe Acrobat XI Pro 两种破解方式 Keygen秘钥 license替换 亲测有效

    大家平时看paper比较多的话想必都是用Adobe Acrobat而非Adobe Reader吧,其功能全面之处就不啰嗦了,下面给大家分享下Adobe Acrobat XI Pro的两种破解方式(两种 ...

  10. Android 5.0 技术新趋势

    由于 Android 的版本分裂比较严重,整个新系统升级可能需要一两年甚至更长时间.所以目前使用 Android 5.0 的大部分是喜欢尝鲜的用户,同时现在市场上能够很好支持 Android 5.0 ...