免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 饺子必须死
打印 上一主题 下一主题

[文本处理] bash脚本复制文件夹的问题 [复制链接]

论坛徽章:
0
31 [报告]
发表于 2014-09-30 10:54 |只看该作者
回复 30# bulletmarquis

你说的后者
   

论坛徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
32 [报告]
发表于 2014-09-30 11:02 |只看该作者
回复 31# 饺子必须死


    其实吧,我觉得分两次操作,先按目录结构去destdir创建一圈,再把文件copy过去,也不麻烦。。。

论坛徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
33 [报告]
发表于 2014-09-30 11:09 |只看该作者
回复 31# 饺子必须死


    按你之前的做法,目测cp时会把! -name的文件也跟着目录拷过去。。

论坛徽章:
0
34 [报告]
发表于 2014-09-30 11:22 |只看该作者
回复 33# bulletmarquis
对,是这样的情况。所以几位都建议我先cp后find。我在想是不是可以先处理源文件,先ignore,然后mkdir(当然如果有目标目录就省去了),在cp,是不是简单一点
   

论坛徽章:
2
摩羯座
日期:2014-11-03 15:28:56卯兔
日期:2015-01-04 17:20:51
35 [报告]
发表于 2014-09-30 11:45 |只看该作者
回复 34# 饺子必须死


    让我做的话,先用find+awk来创建目录,然后再用find来复制文件~~

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
36 [报告]
发表于 2014-09-30 13:54 |只看该作者
本帖最后由 blackold 于 2014-09-30 13:55 编辑

回复 3# 饺子必须死


    你期望复制后的目录结构是什么样的?

   空目录要不要复制?

论坛徽章:
24
申猴
日期:2014-10-10 15:56:39射手座
日期:2014-10-10 15:57:18黑曼巴
日期:2018-05-14 11:05:122016科比退役纪念章
日期:2018-05-14 11:05:0715-16赛季CBA联赛之北控
日期:2018-05-14 11:05:0015-16赛季CBA联赛之江苏
日期:2017-02-27 18:11:0715-16赛季CBA联赛之上海
日期:2018-08-15 09:48:5415-16赛季CBA联赛之佛山
日期:2018-07-20 17:14:2315-16赛季CBA联赛之佛山
日期:2019-09-10 18:08:4615-16赛季CBA联赛之山西
日期:2020-03-26 09:40:5115-16赛季CBA联赛之佛山
日期:2020-05-08 09:03:54
37 [报告]
发表于 2014-09-30 14:40 |只看该作者
本帖最后由 chengchow 于 2014-09-30 14:43 编辑

回复 29# 饺子必须死
单用find不好做,写循环遍历吧
  1. #!/bin/bash

  2. read -p  "input paramA:" paramA
  3. read -p  "input paramB:" paramB
  4. IFS=$"\n"
  5. a_dir=($(find ${paramA} -type f ! -name "*.tmp" ! -name "*.cmd"))
  6. for((i=1;i<=${#a_dir[*]};i++));do
  7. a_dirname=$(dirname ${a_dir[$i]})
  8. mkdir -p ${paramB}/$a_dirname
  9. /bin/cp -f ${a_dir[$i]} ${paramB}/$a_dirname
  10. done

  11. exit 0
复制代码
你这个想法只是你认为的最佳执行模式,是人的思路不是计算机的思路,效率不会高!


   

论坛徽章:
0
38 [报告]
发表于 2014-09-30 14:53 |只看该作者
回复 36# blackold

要啊,就是A完整的复制到B
   

论坛徽章:
0
39 [报告]
发表于 2014-09-30 14:56 |只看该作者
回复 37# chengchow
嗯,不管怎样,学习了

   

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
40 [报告]
发表于 2014-09-30 15:29 |只看该作者
回复 38# 饺子必须死


    A: ~/tmp/subA/...
    B: ~/tmp/subB/...

复制后:
~/tmp/subB/subA/....

这样?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP