注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Wei Ding blog

 
 
 

日志

 
 

awk 使用小记录  

2016-09-08 10:10:02|  分类: linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
ls 20160907_*_RawImages.mrc | awk 'BEGIN{print "start";i=0} {i++;cmd="clip average "$1 " ave_" i ".mrc" ; system(cmd)} END{cmd="clip average ave*mrc all_ave.mrc"; system(cmd);print "End"}'
我是希望将一堆mrcs利用clip将他们平均在一起。以前的做法是写个脚本,来搞定。后来发现用awk可以用命令行就行。
(1)ls 20160907_*_RawImages.mrc列出所有的要处理的文件。
(2)| 管道传给awk
(3)awk必须以单引号起始。
(4)BEGIN{print "start";i=0}初值给以,这里是先输出一个start,然后让i赋值为0。
(5){i++;cmd="clip average "$1 " ave_" i ".mrc" ; system(cmd)} 
这一部分是命令执行部分,i++表示对i进行递增;cmd表示这是外部命令;system(cmd)表示执行外部命令。各个命令之间用分号隔开,特别注意,这一不部分是个循环,每一个mrc文件的到来,这一部分都会被执行一次。
(6)END{cmd="clip average ave*mrc all_ave.mrc"; system(cmd);print "End"}'
这是结束部分,将所有的ave*.mrc再合并一次。并且在最后输出End。
  评论这张
 
阅读(28)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017