zoukankan      html  css  js  c++  java
  • Linux

    1. 概述

      1. 尝试格式化打印
    2. 背景

      1. 想用 shell 做一个随机打印日期的
    3. 环境

      1. os
        1. win10
      2. git-bash
        1. mintty-2.9.4

    1. 思路1: 随机数生成日期, 然后格式化打印

    1. 概述

      1. 随机数, 格式化
    2. 准备

      1. 随机数
        1. $RANDOM
      2. 格式化打印
        1. printf
    3. 问题

      1. printf 还不熟悉
        1. 这个可以学, 小问题
      2. 可能会生成不存在的日期
        1. 比如 02-30, 04-31 之类的
        2. 可以用 sed 或者 vim 修一遍, 但是感觉工作量有点大
        3. 生成时判断, 也不是很方便

    2. 思路2: 随机数指定范围, 然后用 date 命令创造日期

    1. 概述

      1. 随机数, date
    2. 准备

      1. 随机数
        1. $RANDOM
      2. date
        1. 格式化打印
          1. 我需要的格式是这样 2020-05-20

            > date +%Y-%m-%d
            
        2. -d 指定需要格式化打印的日期
          1. 今天

            > date -d '' +%Y-%m-%d
            
          2. 今天前/后一天

            # day, week, month, year 可以使用
            > date -d '-1 day' +%Y-%m-%d
            > date -d '1 day' +%Y-%m-%d
            
            # hour, minutes, second 也可以
            # 注意后面需要用 "" 
            > date -d '1 hour' "+%Y-%m-%d %H:%M:%S"
            > date -d '-1 hour' "+%Y-%m-%d %H:%M:%S"
            
          3. 指定日期

            > date -d '20200520' +%Y-%m-%d
            
    3. 思路

      1. 用 $RANDOM 来控制天数

        # 1. 可以找到 今天 到 去年今天之间的日期
        > date -d "-$[RANDOM%365] day" +%Y-%m-%d
        
        # 2. 不想要今天, 也可以指定别的日期
        > date -d "20200202 -$[RANDOM%365] day" +%Y-%m-%d
        
    4. 脚本

      1. 套个循环直接完事

    3. 后续

    1. 如果 还需要随机的时间, 我怎么办
      1. ref 里用的是 数组

      2. 我想用 printf

      3. 我感觉, 应该是数组会快些吧...

      4. 当然能也有 好写的方法

        > date -d "-$[RANDOM%365] day -$[RANDOM%24] hour" "+%Y-%m-%d %H:%M:%S"
        

    ps

    1. ref
      1. shell产生指定范围内的随机时间
        1. 这个小哥写的脚本, 还是很不错的
      2. 关于 {1..10} 中使用 变量
        1. Variables in bash seq replacement ({1..10})
          1. 第一个过期了, 主要看 第二个
        2. How do I iterate over a range of numbers defined by variables in Bash?
  • 相关阅读:
    在做nginx的服务器http错误和解决办法
    利用ffmpeg将MP4文件切成ts和m3u8
    整理:服务器命令(笔记)
    函数式编程
    Object
    promise
    前端模块化、工程化
    函数
    restful && rpc
    全局、局部变量
  • 原文地址:https://www.cnblogs.com/xy14/p/12926464.html
Copyright © 2011-2022 走看看