zoukankan      html  css  js  c++  java
  • 帮人家做了一个面试题

    帮人家做了一个面试题

    作者: Badcoffee
    Email: blog.oliver@gmail.com
    Blog: http://blog.csdn.net/yayong
    2004年12月


    题目:shell编程,实现如下功能:

    /tmp路径下有800个文件,文件名的格式是:filename_YYYYMMDD_序列号(从001到
    999).dat, 例如:filename_20040108_089.dat
    现在想把这些文件改名,新文件名的格式是:filename_TODAY(当前日期)_序列号
    (从500开始,到达999之后从001开始).dat,
    例如: 把filename_20040108_089.dat改为filename_20041222_589.dat,注意新文
    件名的序列号的顺序需要和原来的一致,即要做排序处理.

    程序:

    #!/usr/bin/bash
    DEST_FILE_PART2="_`date '+%Y%m%d'`_"
    EXT_NAME=".dat"
    SRC_FILE_LIST=`find /tmp -name "*_*_*$EXT_NAME" -print`

    for each in $SRC_FILE_LIST; do
        DEST_FILE_PART1=`echo $each | awk -F"_" '{print $1}'`
        OLD_NUM=`echo $each | awk -F"_" '{print $3}' | awk -F"." '{print $1}'`
        DEST_FILE_PART3=`expr $OLD_NUM + 500`
        [ $DEST_FILE_PART3 -gt 999 ] && DEST_FILE_PART3=`expr $OLD_NUM - 499`
            && DEST_FILE_PART3=`printf %03d $DEST_FILE_PART3`
        DEST_FILE=$DEST_FILE_PART1$DEST_FILE_PART2$DEST_FILE_PART3$EXT_NAME
        echo "mv $each to $DEST_FILE"
        mv $each $DEST_FILE
    done


  • 相关阅读:
    生产者与消费者
    .net 重新注册
    linux 网络之 bond 网卡模式
    Rancher
    kubernetes 集群
    centos7 网卡命名
    Redis 主从模式
    Redis 集群
    Redis
    TwemProxy Redis架构
  • 原文地址:https://www.cnblogs.com/ainima/p/6330874.html
Copyright © 2011-2022 走看看