用Linux命令行实现删除和复制指定类型的文件
(一)Linux 删除当前目录及子目录中所有某种类型的文件
方法1 : 此方法不能处理目录中带空格的那些。
rm -rf `find . -name "*.example"`
Linux的文件名(目录也是一种文件)不建议带空格,命令行中不好处理这个空格。
方法2:组合使用 find 及 xargs
find test2/ -name '*.example' |xargs rm -rf
(xargs 是给命令传递参数的一个过滤器,可以将前一个命令产生的输出作为后一个命令的参数。)
即将 find 产生的输出(test2 目录下的所有 example 类型文件),作为 rm 的参数,从而完全删除。
方法3: 组合使用 find 和 delete 命令
find . -name *.example -delete
此方法可以看作是对 方法2 的简化改进 。
(二)Linux 复制指定目录及子目录下特定类型的文件
首先建立一个用于测试的目录,目录中包含用于测试的 *.txt 文件和 *.tes 文件。
目标是保持当前的目录结构,只把 txt 文件复制出来。
方法1:当不需要的文件类型较为单一时,可以通过完全复制然后删除指定类型的文件完成
// Step1 使用如下命令,将测试目录 test 下所有内容完全复制到 test2
cp -r test/ test2
// Step2 组合使用find及xargs,将 *.tes 文件删除。
find test2/ -name '*.tes' |xargs rm -rf
适用场景举例:把项目文件备份,要去除其中的 .svn 文件,可以采用这种方式。
方法2:需要的文件为单一类型,带目录结构复制
这种情况下可以使用 tar 命令将指定类型的文件打包,然后解包。
// Step1 建立目录 test3
mkdir test3
// Step2 将指定类型文件带目录结构打包
find test/ -name '*.txt' |xargs tar czf test3.tgz
// Step3 解包到目录 test3
tar zxvf test3.tgz -C test3
适用场景:较为普遍,例如可以复制某个 Web 项目的所有 html/jsp/php 文件;或复制其他项目中特定类型的源文件。
用Linux命令行实现删除和复制指定类型的文件的更多相关文章
- Linux命令行批量删除文件(目录)
快速-批量删除文件或目录 1-1.快速删除大文件夹(注意目录后的结束符'/')(对于含有海量文件的目录,不能直接rm -rf删除,这样效率很慢:) rsync -a --delete blank/ t ...
- linux命令(3):复制,剪切(文件和文件夹)
一:文件命令:cp,mv linux 怎么样复制文件夹内所有文件到另一个文件夹? cp -Rf /home/user1/* /root/temp/ 将 /home/user1目录下的所有东西拷到/ ...
- Python Linux 命令行执行脚本输出重定向print到日志文件
reference: https://unix.stackexchange.com/questions/182537/write-python-stdout-to-file-immediately ...
- 详解Linux命令行下常用svn命令
1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...
- Linux命令行下常用svn命令
1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...
- 在 Linux 命令行中使用和执行 PHP 代码
PHP是一个开源服务器端脚本语言,最初这三个字母代表的是“Personal Home Page”,而现在则代表的是“PHP:Hypertext Preprocessor”,它是个递归首字母缩写.它是一 ...
- 在Linux主机使用命令行批量删除harbor镜像
在Linux主机使用命令行批量删除harbor镜像 脚本使用说明: 此脚本不是万能脚本,根据自身环境要调整很多 能用harbor的域名就不要用IP 脚本前半部分可以套用,后半部分需一步一步试错,结合 ...
- 十五个最常用Linux命令行 - imsoft.cnblogs
众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的.在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令 ...
- Linux命令行下cp,rm,mv命令的使用
以下的内容来源于<鸟哥的私房菜> Linux命令行下的复制.删除与移动:cp,rm,mv cp(copy)复制 cp这个命令的用途很多,除了单纯的复制之外,还可以创建链接文件 ...
随机推荐
- The Swift Programming Language-官方教程精译Swift(8)闭包 -- Closures
闭包是功能性自包含模块,可以在代码中被传递和使用. Swift 中的闭包与 C 和 Objective-C中的 blocks 以及其他一些编程语言中的 lambdas 比较相似. 闭包可以捕获和存储其 ...
- Swift入门教程:基本运算符
基本运算符 Swift所支持的基本运算符 赋值运算符:= 复合赋值运算符:+=.-= 算数运算符:+.-.*./ 求余运算符:% 自增.自减运算符:++.-- 比较运算符:==.!=.>.< ...
- 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题
原文 使用SQL Server Driver for PHP解决PHP连接MSSQL乱码的问题 最近帮客户写了一个.net商城网站的发布接口,大家都知道.net一般都使用MSSQL数据库,但鱼丸不会. ...
- Docker运行 Mono
Docker运行 Mono Docker 是最近相当热门的一个名词,它是一个基于 Linux Container 的轻量化的虚拟技术,而微软也相当积极与 Docker 合作,在 Azure 上支持这个 ...
- Serv-U执行CMD命令
site exec + 命令.比如关机: site exec shutdown -r -t 0 注意,网上很多教程在前面加了一个“quote”,实测根本无效,不知道那些教材是怎么回事. 执行方式有很多 ...
- at System.Data.EntityClient.EntityConnection.GetFactory(String providerString)
最近在做一个WinForm的项目. 使用vs2013开发. 数据库使用的是oracle. 在本地写了一个webservice .测试正常.发布到服务器的时候.就是提示了错误. 打开服务器上的日志.看到 ...
- ACE_Message_Block 学习
本文参考http://www.cnblogs.com/TianFang/archive/2006/12/30/607960.html 1. ACE_Message_Block 的length() 返回 ...
- 我的Android 4 学习系列之使用 Internet 资源
目录 连接Internet资源 分析XML资源 使用Download Manager下载文件 查询Download manager 使用Account Manager 对 Google App Eng ...
- 【转】Android折叠效果实现案例
源文:http://mobile.51cto.com/abased-401983.htm 为了使界面的效果更加绚丽,体验效果更佳,往往需要开发者们自行开发新的界面效果,在这里,我将奉上各种实现折叠效果 ...
- Hypeiron Planning/Essbase修改规划类型名称
1.修改planning关系库 1.1--修改Plan_type,例如将type_name “Plan1”修改为”Plan1ts”,提交 SELECT * FROM hsp_plan_type FOR ...