信息发布→ 登录 注册 退出

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

发布时间:2026-01-11

点击量:
目录
  • 一、问题
  • 二、解决
    • 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)批量处理的方法还有很多,选择最佳的方法处理。

    在线客服
    服务热线

    服务热线

    4008888355

    微信咨询
    二维码
    返回顶部
    ×二维码

    截屏,微信识别二维码

    打开微信

    微信号已复制,请打开微信添加咨询详情!