Chinaunix

标题: 复制文件夹时忽略某种文件 [打印本页]

作者: 饺子必须死    时间: 2014-09-26 15:07
标题: 复制文件夹时忽略某种文件
我想实现复制文件夹的功能,但是复制的时候想忽略.tmp和.cmd后缀的文件,想请问一下,怎么在复制的时候忽略而不是在之后删除呢?
作者: Kasiotao    时间: 2014-09-26 15:27
一个笨办法,建一个你的目的文件夹
ls yourdir | awk -F\. '$2!="tmp"&&$2!="cmd"{print "cp "$0"./"}' | sh

作者: Shell_HAT    时间: 2014-09-26 15:30
rsync支持exclude
作者: 饺子必须死    时间: 2014-09-26 15:34
回复 3# Shell_HAT
你说的这个我在网上也搜到了,我只是想写个简单bash脚本就行了。


   
作者: 饺子必须死    时间: 2014-09-26 15:36
回复 2# Kasiotao
我新手,所以不是太懂。我研究一下,谢谢你啊


   
作者: blackold    时间: 2014-09-26 15:36
回复 4# 饺子必须死


    rsync一条命令就行了,还不简单?


   用 find 也行。
作者: 饺子必须死    时间: 2014-09-26 15:41
回复 6# blackold
自己真是新手,所以只看到了一些简单的操作命令,这个真不是太熟悉。{:3_186:}


   
作者: yestreenstars    时间: 2014-09-26 15:44
  1. find ! -name '*.tmp' -a ! -name '*.cmd'
复制代码

作者: 饺子必须死    时间: 2014-09-26 15:45
回复 8# yestreenstars
谢谢,我试一下


   
作者: 饺子必须死    时间: 2014-09-26 16:11
回复 8# yestreenstars
我想问一下,我复制的源地址文件夹和目的地址由外部传入,也就是运行这个bash之后,暂停,弹出框依次输入源地址和目的地址,接着就是复制了。也就是外部传入参数。


   
作者: yestreenstars    时间: 2014-09-26 16:14
回复 10# 饺子必须死
{:3_186:}

   
作者: 饺子必须死    时间: 2014-09-26 16:16
回复 11# yestreenstars
还请赐教
作者: expert1    时间: 2014-09-26 16:17
rsync exclude

作者: bulletmarquis    时间: 2014-09-26 16:35
回复 10# 饺子必须死


    没看懂,这有什么关系么?

   在shell里面,用read把两个地址写到变量里面,然后再用find|xargs进行复制就行了
作者: 饺子必须死    时间: 2014-09-26 16:49
回复 14# bulletmarquis
因为之前在windows下写shell的。现在bash可能表达的意思不是太清楚。就是外部依次传入地址参数,然后进行复制

   
作者: bulletmarquis    时间: 2014-09-26 16:55
回复 15# 饺子必须死

     就是想从标准输入读入两个变量么?
  1. test()
  2. {
  3.   echo "input paramA:"
  4.   read a
  5.   echo "input paramB:"
  6.   read b
  7.   echo "paramA="$a";   paramB="$b
  8. }

  9. test
  10. input paramA:
  11. abc
  12. input paramB:
  13. 123
  14. paramA=abc;   paramB=123
复制代码

作者: 饺子必须死    时间: 2014-09-26 17:04
回复 16# bulletmarquis
这样如果可以把地址作为变量引进来。到cp那一步,应该怎么处理呢?我写的是这样的一句复制代码(源路径和目的路径你应该能看出来):cp -rfa /home/lsx/invocation/* /home/lsx/sniper


   
作者: bulletmarquis    时间: 2014-09-26 17:19
回复 17# 饺子必须死
  1. cp -rfa ${paramA}/* ${paramB}
复制代码

作者: 饺子必须死    时间: 2014-09-26 17:22
回复 18# bulletmarquis
好的,我试试


   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2