无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站虚位以待
虚位以待广告联系 QQ:184822951 微信:wuyouceoidc大全★服务器租用★香港/5M/450元
查看: 1231|回复: 5

[求助] 找linux大神帮忙写个脚本

[复制链接]
发表于 2017-11-30 01:03:59 | 显示全部楼层 |阅读模式
主要是想随机复制文件
有文件夹A和文件夹B  A里面有很对文件名不一样的文件,B文件夹只需要1个固定文件名的文件,是从A随机复制过来的,,,,,求大神帮忙...
发表于 2017-11-30 15:56:46 | 显示全部楼层
将A=,B=,filename=改成实际的名字,最好先测试一下。
原理:
利用$RANDOM产生随机数,在再用for遍历文件,每次对计数变量减一,当计数变量为0时打印信息并复制文件。
  1. #!/bin/sh
  2. #随机拷贝A文件夹下的文件/文件夹为B文件夹的某一个固定名字。
  3. #设定A文件夹所在目录(全路径,最好不用相对路径)
  4. A=
  5. #设定B文件夹所在目录(全路径,最好不用相对路径)
  6. B=
  7. #设定B文件夹下的那个固定名字
  8. file_name=

  9. total=`ls -l $A | wc -l`
  10. select_num=$[$RANDOM % $total]
  11. for i in `ls $A`
  12. do
  13. if [ $select_num -eq 0 ]
  14. then
  15. echo $A/$i is selected
  16. cp -rf $A/$i $B/$file_name
  17. fi
  18. select_num=$[$select_num-1]
  19. done

复制代码

评分

参与人数 1无忧币 +5 收起 理由
201181795791 + 5 很给力!

查看全部评分

回复

使用道具 举报

发表于 2017-11-30 16:21:24 | 显示全部楼层
本帖最后由 pc286 于 2017-11-30 16:24 编辑

#!/bin/bash
# This is a script for copy a random file from directory A to directory B
# By pc286,2017-11-30
#
cd A
quantity_of_file=0
for file in *
do
        file_list[$quantity_of_file]=$file
        let quantity_of_file+=1
done
let num_by_select=$RANDOM%$quantity_of_file
filename_by_select=${file_list[$num_by_select]}
cd ..
cp A/$filename_by_select B/
回复

使用道具 举报

发表于 2017-11-30 16:48:39 | 显示全部楼层
本帖最后由 pc286 于 2017-11-30 16:50 编辑

不知大大的思路更宽广一些,上一个脚本虽可参考,但限定了在当前目录下有A和B两个目录了。新改一个脚本,供参考。
#!/bin/bash
# This is a script for copy a random file from directory a to directory b
# By pc286,2017-11-30
#
Dir_A='/usr/tmp/A'
# 设置目录A的完整路径
Dir_B='/usr/tmp/B'
# 设置目录B的完整路径
cd $Dir_A
#进入目录A
quantity_of_file=0
# 此变量保存目录A的文件个数
for file in *
do
        file_list[$quantity_of_file]=$file
        let quantity_of_file+=1
done
# 以上遍历目录A中所有文件并存放在数组file_list中,并统计A目录中的文件个数
let num_by_select=$RANDOM%$quantity_of_file
# 随机数对文件数取余数,得到随机的数组下标
filename_by_select=${file_list[$num_by_select]}
cp $Dir_A/$filename_by_select $Dir_B/

评分

参与人数 1无忧币 +5 收起 理由
201181795791 + 5 很给力!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2017-11-30 17:40:05 | 显示全部楼层
谢谢大神们....
回复

使用道具 举报

发表于 2018-1-20 10:46:00 | 显示全部楼层
太diao了,围观众神
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2020-1-27 12:29

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表