• 运维派 企业面试题3 为上题中的 "十个随机字母_test.html" 文件 更名


    Linux运维必会的实战编程笔试题(19题)

    企业面试题3

    #将试题2中创建的文件名uopiyhgawe_test.html
    # test-->修改为omg,html-->HTML

    方法一:

    思路: 循环读取文件名, 存入changename.tmp文件, 使用sed变更,删除源文件; 读取changename.tmp, 新建文件;

    这种方法把简单的问题复杂化, 而且不适合批量更改已有文件内容的文件名;

    #!/bin/bash
    #
    #
    # 将试题2中创建的文件名uopiyhgawe_test.html
    # test-->修改为omg,html-->HTML
    touch /tmp/sh/changename.tmp
    for i in `ls /tmp/www`;do
        echo $i >> /tmp/sh/changename.tmp;
        rm -f /tmp/www/$i
    done
    
    sed -i 's@_test.html@_omg.HTML@g' /tmp/sh/changename.tmp
    
    for i in `cat /tmp/sh/changename.tmp`;do
        cd /tmp/www
        touch $i
    done
    
    rm -f /tmp/sh/changename.tmp 


    方法2: 

    思路: 循环读取文件名输出给 grep -o , 选择前面的十位随机字母字符串, 使用 mv 重命名

    -98-[root@vm]10:50 /tmp/sh # cat changenamev2.sh 
    #!/bin/bash
    #
    #
    #change name with mv
    #version 0.2
    
    for i in `ls /tmp/www`;do
        bname=`echo $i | grep -o '[[:alpha:]]{10}'`
        mv /tmp/www/${bname}_test.html /tmp/www/${bname}_OMG.HTML
    done

    运行结果:

  • 相关阅读:
    带外数据
    数组中的第K个最大元素
    广播和多播
    反转链表
    ioctl操作
    非阻塞式I/O
    [CSP-S模拟测试]:简单的括号序列(组合数)
    [CSP-S模拟测试]:最大异或和(数学)
    关于我
    [CSP-S模拟测试]:礼物(数学)
  • 原文地址:https://www.cnblogs.com/gettolive/p/8989634.html
Copyright © 2020-2023  润新知