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

分享,态度 ·~~

—— 十年太长,五年;如果可以回到五年前,你最想对那时候的自己说什么?

 
 
 

日志

 
 

Linux:在一行命令中实现搜索文件并移动  

2013-08-22 11:03:28|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
假设这样的场景:在你的Ubuntu系统的很多角落,都放有某一类型的文件;而你想批量剪切或者拷贝到某个地方。

其实善用find命令就可以做到。(下面中的例子拷贝所有mp3文件到/mnt/mp3目录)

Step # 1: Finding all your .mp3 files
首先用命令罗列一下所有的mp3文件,看看是否有需要排除的文件夹目录:

 find / -iname "*.mp3" -print

这里:
 => / - 搜索 / 根目录。
 => -iname - 文件名搜索参数 (忽略大小写)。
 => -print - 显示文件名。

如果有需要排除的文件夹,之后的代码中用 -prune 参数来过滤:

 find . -path "<Dir path>" -prune -o -iname "*.mp3" -print


Step # 2: Finding and moving all your .mp3 files in one pass
使用下面的命令查找并剪切所有mp3文件到/mnt/mp3目录:

 find / -iname "*.mp3" -exec mv {} /mnt/mp3 \;

这里:
 => -exec mv {} /mnt/mp3 \; - 运行mv命令。
 => {} - 字符 '{}' 代表find到的所有内容。
 => \; - 结束 /bin/mv 命令。

Tip
如果只需要.mp3文件而不是文件夹:

 find / -iname "*.mp3" -type f -exec /bin/mv {} /mnt/mp3 \;

找到所有名字包含mp3的目录(文件夹):

 find / -iname "*.mp3" -type d -exec /bin/mv {} /mnt/mp3 \;

假如需要更多参数(eg. grep),可以使用xargs参数:

 find / -iname "*.mp3" -type f | xargs -I '{}' mv {} /mnt/mp3

【文中的例子来自 NIXCRAFT
  评论这张
 
阅读(1611)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

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

页脚

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