把文件复制N份的2个Shell脚本代码
测试时需要大量文件,所以写了脚本进行拷贝。有规律的文件名利于引用。
#!/bin/sh
# file name : batchcp.sh
# author: zhouhh
# Email: ablozhou@gmail.com
# Date : 2008.3.31
echo "input your file name"
read FILENAME
echo "how many times you want copy?"
read TIMES
echo "your file name is ${FILENAME}, you want to copy ${TIMES} times."
BASE=`echo ${FILENAME}|cut -d "." -f 1`
EXT=`echo ${FILENAME}|cut -d "." -f 2`
for(( i=0;i<${TIMES};i++))
do
echo "copy ${BASE}.${EXT} to ${BASE}$i.${EXT} ..."
cp "${BASE}.${EXT}" "${BASE}$i.${EXT}"
done
另一个版本
#!/bin/sh
# file name : batchcp.sh
# author: zhouhh
# Email: ablozhou@gmail.com
# Date : 2008.3.31
echo "input your file name"
read FILENAME
echo "how many times you want copy?"
read TIMES
echo "your file name is ${FILENAME}, you want to copy ${TIMES} times."
#find . and cut the left part of the file name using ##
EXT=${FILENAME##*.}
#find . and cut the right part of the file name using %
BASE=${FILENAME%.*}
echo "base:$BASE"
echo "ext:$EXT"
for(( i=0;i<${TIMES};i++))
do
echo "copy ${BASE}.${EXT} to ${BASE}$i.${EXT} ..."
cp "${BASE}.${EXT}" "${BASE}$i.${EXT}"
done
相关推荐
-
Shell脚本批量修改文件后缀名代码分享
早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了"格式不正确"而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改成小写的jpg? 既然要批量替换文件名,那么肯定得用一个for循环依次遍历指定目录下的每个文件.对于每个文件,假如该文件的名称为name.oldext,那么我们必须原始文件名中挖出name,再将它与新的文件扩展名newext拼接形成新的文件名name.newext.依照这样的思路,就
-
Shell获取文件的文件名和扩展名的例子
basename example.tar.gz .tar.gz # => example FILE="example.tar.gz" echo "${FILE%%.*}" # => example echo "${FILE%.*}" # => example.tar echo "${FILE#*.}" # => tar.gz echo "${FILE##*.}" # => gz
-
使用bash shell删除目录中的特定文件的3种方法
我是一名Linux新用户.现在我需要清理一个下载目录中的文件,其实我就是想从-/Download/文件夹删去除了以下格式的文件外所以其它文件: 1.*.iso - 所有的iso格式的文件. 2.*.zip - 所有zip格式的文件. 我如何在一个基于Linux,OS X 或者 Unix-like 系统上的bash shell中删除特定的文件呢? Bash shell 支持丰富的文件模式匹配符例如: 1.* - 匹配所有的文件. 2.? - 匹配文件名中的单个字母. 3.[...] - 匹配封闭括
-
把文件复制N份的2个Shell脚本代码
测试时需要大量文件,所以写了脚本进行拷贝.有规律的文件名利于引用. 复制代码 代码如下: #!/bin/sh # file name : batchcp.sh # author: zhouhh # Email: ablozhou@gmail.com # Date : 2008.3.31 echo "input your file name" read FILENAME echo "how many times you want copy?" rea
-
批量转换目录下文件编码的shell脚本代码
一例批量转换目录下文件编码的shell脚本代码. 需求描述:由于从window转linux过来,很多原来win下的gbk文件需要转换成utf8. 以下脚本仅判断非utf8文件转换成utf8文件,并且默认非utf8文件为gbk,如果文件类型不一致需要修改. 例子: 复制代码 代码如下: #!/bin/bash# File Name: iconv.sh# Author: wanggy# site: www.jb51.net#show_file(){ for file in `ls $1`
-
在指定目录查找指定后缀文件的shell脚本代码
复制代码 代码如下: #!bin/sh # 在指定位置查找指定后缀的文件,包括子目录 # 用法: # findf $1 $2 # 第一个参数为后缀 # 查找指定后缀的文件并打印出来 # link:www.jb51.net# date:2013/2/26 f() { list=`find $2|grep "/.$1/>"` for i in $list do echo $i done } # 打印用法 print() {
-
查找目录下同名但不同后缀名文件的shell脚本代码
因为后台录入的同事,上传文件的时候,给文件取了相同的名字,但不同的后缀名,由于文件路径非常深,大概十层左右,每一层又有几十个文件,所以人工找起来非常麻烦,所以写了个脚本,帮他们实现查找指定目录下所有子目录及文件,找出相同文件名,不同后缀的文件,然后,手动保留其中一个. 复制代码 代码如下: #!/bin/bash #判断一下脚本参数的问题 if [ $# -ne 1 ];then echo "Usage find_same.sh direcroty" exit f
-
判断文件是否存在的shell脚本代码
实现代码一. #!/bin/sh # 判断文件是否存在 # link:www.jb51.net # date:2013/2/28 myPath="/var/log/httpd/" myFile="/var /log/httpd/access.log" # 这里的-x 参数判断$myPath是否存在并且是否具有可执行权限 if [ ! -x "$myPath"]; then mkdir "$myPath" fi # 这里的-d
-
perl实现的两个文件对比并对数据进行筛选的脚本代码
复制代码 代码如下: #!/usr/bin/perlmy %scyjm; open (CONTACT,"f:\\perl\\f.txt")||die("can not open the file!"); while (<CONTACT>) { next if /^#/;#if($_=~/^#/的简写 chomp; my @information =split;# my @information=split/\s+/,$_;的简写
-
shell脚本批量将文件复制到指定的文件夹下
由于线上文件比较多,选择特定的文件拿下线下进行语料标注,如果指定的文件数量太多,一个个复制就很麻烦.所以写一个shell脚本进行批量操作. 首先把需要下载的文件路径写入txt文件中,如果需要路径补全,则在每条路径上加上*号,这样就很简单cd到对应的目录下,(就这个小点,花费了我很久时间) 如图所示: 然后就是遍历txt文件进行路径下操作, cat 2022-05-07_path.txt | while read line do #echo $line dir=根目录/"$line" e
-
C语言文件复制实例详解
C语言文件复制实例详解 文件复制,在Linux中,将生成的read.o 重新文件拷贝一份复制到ReadCopy.o中,并且更改ReadCopy.o文件的操作权限.使其能够正常运行. 实例代码: #include <stdio.h> int main(){ FILE *r_file = fopen ("read.o","rb"); FILE *w_file = fopen ("ReadCopy.o","w"); ch
-
cmd copy命令 文件复制
假设,你需要把d:\test\test.txt这个文件复制到D盘根目录下,那么,使用 copy d:\test\test.txt d:\ 就可以轻易办到. 当然,这是最简单的情形,在实际使用中,还是会碰到十分复杂的情况的. 如果D盘根目录下已经存在了一个名为test.txt的文件,那么,复制过去的时候,copy命令就会提示你是覆盖原文件.是放弃复制还是覆盖所有文件.如果你在批量复制的时候,一概覆盖原文件,那么,一个一个地选择十分麻烦,这个时候,你可以使用不加提示就覆盖原文件的参数 /y (相当于
-
利用xcopy命令实现本地文件复制到远程服务器的方法
A.net use \\IP地址 密码/user:****** B.xcopy 文件 \\IP地址\ 批处理文件为backup.bat,其代码如下: ========================================================================================= net use \\192.168.1.198\ipc$ Zqf198703 /user:royalpeak xcopy g:\backup\*.* \\192.168.
随机推荐
- JavaScript isArray()函数判断对象类型的种种方法
- Android 自定义九宫格手势锁
- Python抓取手机号归属地信息示例代码
- 在ASP.NET 2.0中操作数据之六十八:为DataTable添加额外的列
- JavaScript高级程序设计 读书笔记之九 本地对象Array
- Android中Okhttp3实现上传多张图片同时传递参数
- Android中捕捉menu按键点击事件的方法
- php面向对象与面向过程两种方法给图片添加文字水印
- javascript getElementById 使用方法及用法
- jQuery实现图片向左向右切换效果的简单实例
- jQuery中事件与动画的总结分享
- bootstrap datetimepicker 日期插件在火狐下出现一条报错信息的原因分析及解决办法
- C#实现根据给出的相对地址获取网站绝对地址的方法
- Java高级特性
- Python3结合Dlib实现人脸识别和剪切
- 实例操作MySQL短链接
- vue使用中的内存泄漏【推荐】
- 深入理解MongoDB的复合索引
- 5分钟快速创建spring boot项目的完整步骤
- Linux下的 mariadb 使用 root 用户启动方式(推荐)