免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2807 | 回复: 7
打印 上一主题 下一主题

[系统管理] linux有没有一个命令,把源目录下文件拷贝到目的目录下时,还能提示“新建”、“替换 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-08-05 11:36 |只看该作者 |倒序浏览
假设源目录下有2个文件:
1.txt
2.txt

目的目录下有2个文件:
2.txt
3.txt

linux有没有一个命令,当把源目录下文件拷贝到目的目录下时,能提示“新建”、“替换”,比如:
新建 1.txt
替换 2.txt



论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
2 [报告]
发表于 2015-08-05 12:30 |只看该作者
回复 1# linlone


    cp 就能提示替换.

论坛徽章:
0
3 [报告]
发表于 2015-08-05 12:38 |只看该作者
MMMIX 发表于 2015-08-05 12:30
回复 1# linlone



cp参数是?我怎么没找到呢?


求职 : Linux运维
论坛徽章:
3
戌狗
日期:2015-01-11 13:27:532015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯纪念徽章
日期:2015-05-08 15:03:30
4 [报告]
发表于 2015-08-05 12:43 |只看该作者
  1.   1 #!/bin/bash
  2.   2
  3.   3 src_dir='/dir1/'
  4.   4 dst_dir='/dir2/'
  5.   5
  6.   6 for file in `ls ${src_dir} | awk -F'/' '{print $NF}'`
  7.   7 do
  8.   8  dst_file=${dst_dir}${file}
  9.   9  if [ -e ${dst_file} ]; then
  10. 10    echo "替换:${file} ?"
  11. 11    read opt
  12. 12    [ $opt == 'y' -o $opt == 'Y' ] && cp -f "${src_dir}${file}" "${dst_dir}${file}"
  13. 13  else
  14. 14    echo "新建:${file}"
  15. 15    cp "${src_dir}${file}" "${dst_dir}${file}"
  16. 16  fi
  17. 17 done
复制代码

论坛徽章:
6
2015亚冠之广州恒大
日期:2015-05-25 15:01:512015亚冠之大阪钢巴
日期:2015-11-09 21:04:562015亚冠之山东鲁能
日期:2015-11-11 14:30:3215-16赛季CBA联赛之山西
日期:2016-03-11 11:11:5215-16赛季CBA联赛之江苏
日期:2016-04-06 10:48:4915-16赛季CBA联赛之北控
日期:2016-11-09 10:23:22
5 [报告]
发表于 2015-08-05 14:16 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
6 [报告]
发表于 2015-08-05 15:09 |只看该作者
自己开发完了,反馈给大家:
  1. #!/bin/bash

  2. src_dir=test_test
  3. dst_dir=test_online

  4. function ergodic()
  5. {
  6.   for file in `ls -A $1`
  7.   do
  8.       srcfile=$1/$file
  9.       dstfile=$2/$file
  10.       if [ -d $srcfile ]; then
  11.           if [ ! -e $dstfile ]; then
  12.               mkdir $dstfile
  13.               echo -e "                                 新建目录 "${srcfile:$3}
  14.           fi
  15.           ergodic $srcfile $dstfile $3
  16.       else
  17.           md=`md5sum $srcfile | cut -d" " -f1`
  18.           if [ -e $dstfile ]; then
  19.               echo -e $md" 替换     "${srcfile:$3}
  20.               cp -a  $srcfile  $dstfile
  21.           else
  22.               echo -e $md" 新建文件 "${srcfile:$3}
  23.               cp -a  $srcfile  $dstfile
  24.           fi
  25.       fi
  26.   done
  27. }

  28. function scandir_cp()
  29. {
  30.   # 去掉尾部所有/
  31.   src_dir=`echo $1 | sed 's#[/]*$##'`
  32.   srcdir=$src_dir/
  33.   ergodic $src_dir $2 ${#srcdir}
  34. }

  35. scandir_cp $src_dir  $dst_dir
复制代码

论坛徽章:
22
处女座
日期:2014-10-11 13:33:292015亚冠之塔什干火车头
日期:2015-07-20 19:59:042015亚冠之塔什干火车头
日期:2015-07-26 10:59:31程序设计版块每日发帖之星
日期:2015-08-05 06:20:00每日论坛发贴之星
日期:2015-08-05 06:20:00程序设计版块每日发帖之星
日期:2015-08-07 06:20:00每日论坛发贴之星
日期:2015-08-07 06:20:002015亚冠之阿尔纳斯尔
日期:2015-10-01 15:23:28白银圣斗士
日期:2015-12-07 17:17:06操作系统版块每日发帖之星
日期:2015-12-27 06:20:002015亚冠之广州富力
日期:2015-07-08 15:48:31程序设计版块每日发帖之星
日期:2015-06-11 22:20:00
7 [报告]
发表于 2015-08-05 21:42 |只看该作者
回复 3# linlone
-i, --interactive
              prompt before overwrite (overrides a previous -n option)


   

论坛徽章:
7
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:092015小元宵徽章
日期:2015-03-06 15:58:18程序设计版块每日发帖之星
日期:2015-08-09 06:20:00每日论坛发贴之星
日期:2015-08-09 06:20:00程序设计版块每日发帖之星
日期:2015-08-22 06:20:00程序设计版块每日发帖之星
日期:2015-08-27 06:20:00
8 [报告]
发表于 2015-08-06 11:39 |只看该作者
。。。完全被需求迷惑住了~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP