把文件复制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

(0)

相关推荐

  • 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

  • Shell脚本批量修改文件后缀名代码分享

    早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了"格式不正确"而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改成小写的jpg? 既然要批量替换文件名,那么肯定得用一个for循环依次遍历指定目录下的每个文件.对于每个文件,假如该文件的名称为name.oldext,那么我们必须原始文件名中挖出name,再将它与新的文件扩展名newext拼接形成新的文件名name.newext.依照这样的思路,就

  • 使用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.

随机推荐