shell 日期格式化 date


  

do_date=`date`    ==> Thu Jun  3 14:33:58 CST 2020
do_date=`date  +%F`    ==> 2020-06-03
do_date=`date -d "-1 day" +%F`    ==>2020-06-02

date +"%Y-%m-%d %H:%M:%S" 2020-06-03 14:20:25

eg:

1)在hadoop001的/home/hadoop/bin目錄下創建腳本
[hadoop@hadoop001 bin]$ vim ods_log.sh
    在腳本中編寫如下內容
#!/bin/bash

# 定義變量方便修改
APP=gmall
hive=/soft/install/hive/bin/hive

# 如果是輸入的日期按照取輸入日期;如果沒輸入日期取當前時間的前一天
if [ -n "$1" ] ;then
   do_date=$1
else 
   do_date=`date -d "-1 day" +%F`
fi 

echo "===日志日期為 $do_date==="
sql="
load data inpath '/origin_data/gmall/log/topic_start/$do_date' into table "$APP".ods_start_log partition(dt='$do_date');

load data inpath '/origin_data/gmall/log/topic_event/$do_date' into table "$APP".ods_event_log partition(dt='$do_date');
"

$hive -e "$sql"
說明1:
[ -n 變量值 ] 判斷變量的值,是否為空
-- 變量的值,非空,返回true
-- 變量的值,為空,返回false
說明2:
查看date命令的使用,[hadoop@hadoop001 ~]$ date --help
2)增加腳本執行權限
[hadoop@hadoop001 bin]$ chmod 777 ods_log.sh
3)腳本使用
[hadoop@hadoop001 module]$ ods_log.sh 2019-02-11

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM