linux下拷贝命令中的文件过滤操作记录
在日常的运维工作中,经常会涉及到在拷贝某个目录时要排查其中的某些文件。废话不多说,下面对这一需求的操作做一记录:
linux系统中,假设要想将目录A中的文件复制到目录B中,并且复制时过滤掉源目录A中的文件a和b
做法如下:
#cd A
#cp -r `ls |grep -v a |grep -v b| xargs` B
注意:
1)上面在cp命令执行前,最好提前cd切换到源目录A下,不然就要在ls后跟全路径,否则就会报错。
2)命中中的xargs参数加不加效果都一样,不过最好是加上,表示前面的命令输出
3)grep -v中的-v表示过滤,有多少文件的过滤需求,就执行多少个grep -v操作
4)命令替换``可以用$()代替
实例如下:
将/tmp/bo目录中的文件复制到/tmp/test目录中,复制时过滤f和s文件!
[root@cdn bo]# ll /tmp/bo
total 12
drwxr-xr-x 2 root root 4096 Nov 3 17:55 10
drwxr-xr-x 2 root root 4096 Nov 3 17:55 20
drwxr-xr-x 2 root root 4096 Nov 3 17:55 30
-rw-r--r-- 1 root root 0 Nov 3 17:33 4
-rw-r--r-- 1 root root 0 Nov 3 17:33 5
-rw-r--r-- 1 root root 0 Nov 3 17:33 d
-rw-r--r-- 1 root root 0 Nov 3 17:33 f
-rw-r--r-- 1 root root 0 Nov 3 17:33 s
-rw-r--r-- 1 root root 0 Nov 3 17:33 w
[root@cdn tmp]# ls /tmp/test/
[root@cdn tmp]#
[root@cdn tmp]# cd /tmp/bo/
[root@cdn bo]# cp -r $(ls |grep -v f|grep -v s|xargs) /tmp/test
[root@cdn bo]# ls /tmp/test
10 20 30 4 5 d w
以上的方法也适用于远程拷贝scp操作,比如:
[root@cdn resin]# scp -r `ls|grep -v log|xargs` root@192.168.1.241:/opt/resin/
另外:
上面的需求也可以使用for循环方式进行操作。注意for循环中使用绝对路径!
[root@cdn tmp]# cd /tmp
[root@cdn tmp]# ls bo
10 20 30 4 5 d f s w
[root@cdn tmp]# ls test
[root@cdn tmp]# for i in `ls /tmp/bo|grep -v f|xargs`;do cp -r /tmp/bo/$i /tmp/test;done
[root@cdn tmp]# ls /tmp/test/
10 20 30 4 5 d s w
linux下拷贝命令中的文件过滤操作记录的更多相关文章
- Linux下的命令,删除文件夹下的所有文件,而不删除文件夹本身
Linux下的命令,删除文件夹下的所有文件,而不删除文件夹本身 rm -rf *
- Linux下磁盘分区、挂载、卸载操作记录
Linux下磁盘分区.挂载.卸载操作记录. 操作环境:CentOS release 6.5 (Final) Last :: from 118.230.194.76 [root@CentOS ~]# [ ...
- 在Linux下使用命令行打印文件
近期需要将数学笔记打印出来复习,才发现Linux KDE环境下的默认PDF软件Okular根本无法将我在GoodNotes B5大小的页面写下的内容自适应地放大到A4纸上,只能以页面的原始尺寸打印.然 ...
- Linux下dos2unix命令将windows文件编码格式dos转换成Unix格式
问题描述: 在Windows系统下面使用文本编辑器notepad后传到Linux系统下的话 Linux下处理和执行一般都存在一些问题,我们可以通过命令查看文件是否是dos格式的, 如果有如图所示的M标 ...
- linux下修改jar中的文件
解压修改后再打包 解压: jar xvf xxx.jar 打包: jar cvfm0 xxx.jar META-INF/MANIFEST.MF ./ 注: -m参数可以将 一个具体的mainfest文 ...
- 2017.7.18 linux下用户、组和文件的操作
参考来自:<鸟叔的linux私房菜(基础学习篇)-第14章> 0 目的 在linux下搭建ELK环境时,因为elasticsearch不能在root下操作,所以要为其新增一个用户,以及随之 ...
- Linux下Maven私服Nexus3.x环境构建操作记录【转】
Maven介绍Apache Maven是一个创新的软件项目管理和综合工具.Maven提供了一个基于项目对象模型(POM)文件的新概念来管理项目的构建,可以从一个中心资料片管理项目构建,报告和文件.Ma ...
- Linux下Maven私服Nexus3.x环境构建操作记录
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79553747 私服介绍 私服是指私有服务器,是架设在局域网的一种特殊的远程仓库, ...
- linux下通过命令行把文件拷贝到U盘上
常用linux,往U盘拷贝文件是常用的一种方法.下面这个方法是笔者亲测有效,暂时记录下来. 1.插入U盘,fdisk -l查看U盘是哪个设备(比如/dev/sdb1)然后mount /dev/sdb ...
随机推荐
- 变通实现微服务的per request以提高IO效率(二)
*:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...
- Windows 10 的音频和 MIDI API将统一
微软一统 Windows 10 的音频和 MIDI API 微软在夏季NAMM上的A3E大会上做了主题演讲,他们对Windows 10的音频和MIDI API都做了新的规划,开发者针对Windows ...
- CSS的::selection使用方法
请选择本页面文本看看:http://hovertree.com/h/bjaf/38hq6y9d.htm CSS改变默认文本选中的颜色的方法 一般情况下在网页里的文本我们用鼠标选中的时候都是蓝色的,这个 ...
- hyperv 创建虚拟以太网交换机失败
问题: hyperv 创建虚拟以太网交换机失败 解决办法: 取消无线共享,重新创建虚拟以太网交换机即可
- Genymotion 解决虚拟镜像下载速度特别慢的问题
Genymotion号称Android模拟器中运行最快的,但是服务器在国外,Android镜像下载起来那个速度就不想说了. Add new device后下载速度太慢了,容易失败 解决方法如下: ...
- 学习Swift的点点滴滴
1.类型标注 之前不知道为啥别人写的Swift语言的时候,定义常量或者变量的格式是 常量: let 常量名: 常量类型 = 常量值 或者 变量: var 变量名: 变量类型 = 初始值 原来书上有记 ...
- SQL SERVER 2012链接到SQL SERVER 2000的问题解决案例
前几天在在桦仔的SQLSERVER走起微信公众帐号看到一篇文章MS SQL Server2014链接MS SQL Server 2000,当时手机上囫囵吞枣看了个大概,知道是由于SQL SERVER ...
- Provider:SSL Provider,error:0-等待的操作过时
今天一同事使用SSMS 2012 连接数据库时,遇到了"provider:SSL Provider,error:0-等待的操作过时",搜索了一下,遇到一哥 们也遇到这个问题:SQL ...
- 问题解决——MFC error RC2170: bitmap file res\XXXXXXX.png is not in 3.00 format
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- MySQL行锁深入研究
原文:http://blog.csdn.net/minipeach/article/details/5325161/ 做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图 ...