shell脚本批量将文件复制到指定的文件夹下
由于线上文件比较多,选择特定的文件拿下线下进行语料标注,如果指定的文件数量太多,一个个复制就很麻烦。所以写一个shell脚本进行批量操作。
首先把需要下载的文件路径写入txt文件中,如果需要路径补全,则在每条路径上加上*
号,这样就很简单cd
到对应的目录下,(就这个小点,花费了我很久时间)
如图所示:
然后就是遍历txt文件进行路径下操作,
cat 2022-05-07_path.txt | while read line do #echo $line dir=根目录/"$line" echo $file_path filelist=`ls $dir` for file in $filelist do tmp=${file##*/} #文件名 file_no_suffix=${tmp%.*} #文件名不带后缀 suffix=${file##*.} #后缀 #echo $tmp #echo $file_no_suffix if [[ $suffix != $file_no_suffix ]] && [[ $suffix == 'pdf' ]]; then if [[ $file_no_suffix != 'source_file_dec' ]] && [[ $file_no_suffix != 'source_file_origin' ]] && [[ $file_no_suffix != 'source_file' ]]; then #echo $tmp #echo $file_no_suffix file_path=$dir/$tmp echo cp $file_path $target_dir cp $file_path $target_dir fi fi done done
其中就是对文件进行逻辑判断进行选择需要的文件名称进行复制
到此这篇关于shell脚本批量将文件复制到指定的文件夹下的文章就介绍到这了,更多相关shell批量文件复制 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
相关推荐
-
shell脚本批量复制及执行命令的示例详解
平时在处理一个或几个机器运行环境时,一个机器一个机器处理也能接受,但是如果是一批机器,几十或几百台,要是一台一台去安装环境,光是输入同一的命令,估计你自己都想吐,所有聪明的人会想一些偷懒的办法,确实可以找到一些省时省力的方法,比如写一个批量处理shell脚本,这几天在处理一批(八九十台)机器环境,找了一些批量处理的脚本,包括批量传输(scp)文件到多台机器上.批量执行命令到多台机器.还有需要交互的命令,下面记录一些这些命令: 机器IP文件:ip.txt 192.168.10.201 192.16
-
shell脚本批量将文件复制到指定的文件夹下
由于线上文件比较多,选择特定的文件拿下线下进行语料标注,如果指定的文件数量太多,一个个复制就很麻烦.所以写一个shell脚本进行批量操作. 首先把需要下载的文件路径写入txt文件中,如果需要路径补全,则在每条路径上加上*号,这样就很简单cd到对应的目录下,(就这个小点,花费了我很久时间) 如图所示: 然后就是遍历txt文件进行路径下操作, cat 2022-05-07_path.txt | while read line do #echo $line dir=根目录/"$line" e
-
通过Shell脚本批量创建服务器上的MySQL数据库账号
1.项目背景 因监控需要,我们需要在既有的每个MySQL实例上创建一个账号.公司有数百台 MySQL 实例,如果手动登入来创建账号很麻烦,也不现实.所以,我们写了一个简单的shell脚本,用来创建批量服务器的mysql 账号. 2.执行脚本内容; #!/bin/bash ## 此段shell 脚本的主要功能是实现在多个SQL Server IP实例上,创建账号.输入参数是两个,第一个是数据库所在的IPs,即多个Server IP构成的字符串,IP间用逗号隔开.第二个参数是 端口(3306 或
-
shell脚本批量创建用户的方法小结
目录 shell脚本批量创建用户基本操作 附:用shell脚本批量创建50个用户并设置密码,批量删除用户 总结 shell脚本批量创建用户基本操作 案例:批量创建user01 ~ user20 一共二十个文件,密码为随机的六位数 并且将 用户名和密码 输出到 user.txt 文件中 #!/bin/bash #批量创建20个用户 user01 ~ user20 user=user #创建存储用户和密码的文件 touch user.txt txt=user.txt #循环遍历1到20 for i
-
使用Shell脚本批量启停Docker服务
最近日常测试中经常需要手动启动或停止docker,于是决定写一个Shell脚本来代替人工操作,另外该脚本,也可以通过Python脚本实行远程调用,详细如下所示: 目前该脚本是将Container ID写死在脚本中,当然也可以通过传参给脚本来进行控制,大家可以改造一下. 启动docker 启动脚本详细如下所示: #!/bin/bash containerIDs="ad3e4d7fc407 a228730a915f ad3e4d7fc4099" statusLived="live
-
Shell脚本批量修改文件后缀名代码分享
早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了"格式不正确"而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改成小写的jpg? 既然要批量替换文件名,那么肯定得用一个for循环依次遍历指定目录下的每个文件.对于每个文件,假如该文件的名称为name.oldext,那么我们必须原始文件名中挖出name,再将它与新的文件扩展名newext拼接形成新的文件名name.newext.依照这样的思路,就
-
iOS通过shell脚本批量修改属性
背景 公司需要做一系列的壳版本,壳版本如果内容雷同提交到App Store会有被拒绝的风险,除了我在上一篇文章中说道的在壳版本中注入混淆的代码,防止被苹果检测到内容太过雷同而导致审核被拒绝.还有另一种可行的方法是批量修改源文件中的类名.属性.方法名称等会在二进制文件中留下符号标记的信息,绕过苹果的机器审核. 这篇文章介绍的是如何使用脚本批量修改属性名称,后续还有系列的包括使用脚本批量修改类名称.方法名称等信息的文章. 结果 下面是执行脚本替换了属性的结果图,脚本把所有需要替换的属性添加了abc后
-
Shell脚本批量清除Nginx缓存
前言*随着整个互联网的发展,产生了无数大大小小的网站,随之而来用户对网站UI和速度体验也在日益加强,对企业或者个人来说,赢得用户体验也就意味着赢得先机. 那今天我们在这里针对网站速度这方面来一起交流,提高网站速度对于运维工程师.程序员来说变得至关重要.运维工程师首先得在日常网站运维中发现影响网站速度的各种因素得逐个推动然后解决. 提高网站速度体验除了本身网站程序优化外,对于LinuxSA来说还有大量的工作要做,优化系统内核.调整WEB服务器的参数.优化数据库.增加网站架构缓存等等一系列的工作.
-
C#将文件复制到指定文件夹并整理
下面是在C#中将文件复制(剪切是先复制再删除)到指定的路径,并按日期归档的一个简单实例.值得注意的2点是: 1)文件的路径是关键,程序中使用双斜杠\\ 2)文件和文件夹的区别 private void DoWork() { String dir="D:\\ABC" //创建备份文件夹,按时间命名 String bakDir = dir + "\\bak\\" + DateTime.Now.ToString("yyyy-MM-dd"); if (D
-
用Python批量把文件复制到另一个文件夹的实现方法
0 前言 大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成 200 个文件一个文件夹,很简单的. 我理解了之后,觉得还是挺简单的,花了半个小时写出来了,代码也不多,代码和思路都可以分享一下. 1 环境说明 Win10 系统下 Python3,编译器是 Pycharm. 需要安装 shutil 这个第三方库,直接 pip install shutil 就可以了. 2 代码 先导入需要用到的库,os 是用来切换路径和创建文件夹的. shutil 是用来复制黏贴文
随机推荐
- Backbone.js中的集合详解
- 使用AngularJS2中的指令实现按钮的切换效果
- JavaWeb搭建网上图书商城毕业设计
- C#利用ScriptControl动态执行JS和VBS脚本
- 基于JavaScript如何制作遮罩层对话框
- 在chrome中window.onload事件的一些问题
- xmlplus组件设计系列之选项卡(Tabbar)(5)
- ASP.NET常用代码
- 使用php统计字符串中中英文字符的个数
- PHP实现简单实用的分页类代码
- 微软终于对网页三剑客下手了
- js简单的表拖拽
- 下载站运行广告合作exe文件然后再运行程序文件的bat
- PHP针对伪静态的注入总结【附asp与Python相关代码】
- android设计模式之单例模式详解
- 浅谈java中的访问修饰符
- Java实现DES加解密算法解析
- php实现删除指定目录下相关文件的方法
- 使用数字签名实现数据库记录防篡改(Java实现)
- 构造函数不能声明为虚函数的原因及分析