当前位置 博文首页 > shell批量创建文件并重新命名的实例代码

    shell批量创建文件并重新命名的实例代码

    作者:乌托邦2号 时间:2021-08-05 17:48

    目录
    • 一、问题
    • 二、解决
      • 1、批量删除文件
      • 2、文件更名
    • 三、总结

      一、问题

           使用for循环批量创建10个文件,从linux-1到linux-10。并将上述文件的前缀改为unix。

      二、解决

      1、批量删除文件

      批量创建命名从linux-1到linux-10的文件。

      (1)方法一:常规方法

      #使用for循环批量创建10个文件 linux-1到linux-10
      #!/bin/sh
       
      [ ! -d $PWD/file ] && mkdir -p $PWD/file && exit 1
       
      for count in `seq 10`
      do
          touch $PWD/file/linux-$count
      done

      (2)方法二

      #使用for循环批量创建10个文件 linux-1到linux-10
      #!/bin/sh
       
      if [ ! -d $PWD/file ] && mkdir -p $PWD/file
      then
          path=$PWD/file
      		for count in `seq 10`
      		do
      				cd $path && touch linux-$count
      		done
      else
          exit 1
      fi

      (3)方法三

      使用shell命令:touch linux-{1..10}或touch linux-`seq 10`

      (4)运行效果

      2、文件更名

      批量将从linux-1到linux-10的文件重新命名为从unix-1到unix-10的文件。

      (1)方法一

      #使用for循环批量改名
      #!/bin/sh
       
      cd $PWD/file
      for count in `seq 10`
      do
          mv linux-$count unix-$count
      done

      (2)方法二:常规方法

      #使用for循环批量改名
      #!/bin/sh
       
      if [ -d $PWD/file ] && cd $PWD/file
      then
      		for filename in `ls linux*`
      		do
      				mv $filename `echo $filename | sed "s/linux/unix/g"`
      		                #等价于 mv $filename unix-`echo $filename | cut -d"-" -f2`
                      done
      fi

      (3)使用shell命令:rename linux unix linux*

      (4)运行效果

      三、总结

      (1)sed、cut的用法可以查阅文档理解。

      (2)批量处理的方法还有很多,选择最佳的方法处理。

      jsjbwy
      下一篇:没有了