专栏首页散尽浮华linux下拷贝命令中的文件过滤操作记录

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Linux系统是否被植入木马的排查流程梳理

    在日常繁琐的运维工作中,对linux服务器进行安全检查是一个非常重要的环节。今天,分享一下如何检查linux系统是否遭受了入侵? 一、是否入侵检查 1)检查系统...

    洗尽了浮华
  • Centos7下部署两套python版本并存环境的操作记录

    需求说明: centos7.2系统的开发机器上已经自带了python2.7版本,但是开发的项目中用的是python3.5版本,为了保证Centos系统的正常运行...

    洗尽了浮华
  • [原创]CI持续集成系统环境---部署Jenkins完整记录

    Jenkins通过脚本任务触发,实现代码的自动化分发,是CI持续化集成环境中不可缺少的一个环节。 下面对Jenkins环境的部署做一记录。 ---------...

    洗尽了浮华
  • Ubuntu中root用户登录、普通用户切换到root身份及root用户切换至普通用户方法

    --------------------------------------------------------------------------------...

    魏晓蕾
  • PHP二叉树(一):平衡二叉树(AVL)

    平衡二叉树 <?php /** * description: 平衡二叉树 */ //结点 class Node { public $key; ...

    琯琯
  • ElasticSearch入门介绍之安装部署(二)

    我是攻城师
  • 查找当前目录下的大于1M的文件的各种实现

    用户3765803
  • kvm 虚拟机 转换成vmware虚拟机

    # qemu-img convert Monitor.img –O vmdk ./Monitor.vmdk

    三杯水Plus
  • docker学习5-docker安装tomcat环境和部署war包

    tomcat部署web项目非常方便,把war包放到webapps目录就可以了。本篇使用docker快速搭建一个tomcat环境

    上海-悠悠
  • Leetcode Golang 110. Balanced Binary Tree.go

    版权声明:原创勿转 https://blog.csdn.net/anakinsun/article/details/88965643

    anakinsun

扫码关注云+社区

领取腾讯云代金券