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

Computer Science

I Pressed My Words Here. Will You Read ?

 
 
 

日志

 
 

Linux 系统中的Perl命令  

2013-03-10 22:25:33|  分类: Tips |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
rename:以前只听说过用cp和rm来重命名文件的。
今天重命名文件夹时,突发奇想输入了rena,还是自动补全为rename,高级。看来有这么个命令嘛,于是试着用用。奈何智力有限,只好求助--help,之后又是man。弄了半天不知道怎么用。再仔细一看man的介绍:rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]。其中perlexpr难道是perl表达式的缩写?晕,只听说过perl,一直没敢去用,于是又求助google,终于明白了,应该这样用:
will@ubuntu12041:~/Documents/Documents$ ls
arcturo.github.com  blog.backup  Calibre Library  Git-Guide  Workspace
will@ubuntu12041:~/Documents/Documents$ rename -v 's/gitGuide/git/' *tGuide
gitGuide renamed as git
will@ubuntu12041:~/Documents/Documents$ ls
arcturo.github.com  blog.backup  Calibre Library  git  Workspace
...
(addon-sdk-1.13.2)will@will-HP-Compaq-6520s:/opt/Workspace/Mozilla/publicFuncsForPage$ rename -v 's/pblic*/public/' lib/pb*
lib/pblicFuncsForPage.js renamed as lib/publicFuncsForPage.js


关于rename更加深入的讲解:Perl经典代码之rename   http://blog.chinaunix.net/uid-1747451-id-2796158.htmlhttp://blog.chinaunix.net/uid-14735472-id-205603.html

曾在 svn使用命令记录 一文中记录了段svn命令结合perl实现批量从svn删除已经不存在的文件 的命令。
今天在git上略做修改,实现git上reset所有add了但未提交的文件, 及checkout所有变更了的文件。如下:
 git status | perl -ne 'print "$1\n" if /^\#\s+.*\:\s+(.*)/'|git reset HEAD
 git status | perl -ne 'print "$1\n" if /^\#\s+.*\:\s+(.*)/'|xargs git checkout
  评论这张
 
阅读(497)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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