經驗總結 shell 日期小技巧

2021-05-26 04:56:16 字數 1168 閱讀 7238

by eagoo

輸出兩個日期之間的日期列表,很多時候需要處理一段日期區間的檔案或日誌,系統沒有直接的命令支援,一下指令碼輸出兩個日期間的日期列表。

#!/bin/bash

if [ $# -eq 2 ];then

date1=$1

date2=$2

fiif [ $# -eq 1 ];then

date1=$1

date2=$1

fidate1=`date +%y-%m-%d -d "$date1 0 days ago"`

date2=`date +%y-%m-%d -d "$date2 0 days ago"`

#echo $date1" "$date2

if [ $ -ne 10 -o $ -ne 10 ];then

echo "invalid input usg:datelist.sh yyyy-mm-dd yyyy-mm-dd"

exit

fiif [[ "$date1" > "$date2" ]];then

echo "datelist.sh yyyy-mm-dd yyyy-mm-dd"

exit

fiwhile [ "$date1" /< "$date2" ] || [ "$date1" = "$date2" ]

doecho $date1

date1=`date +%y-%m-%d -d "$date1 -1 days ago"`

done

很多日誌指令碼都需要處理日期,如日誌名稱中有日期,預設是昨天的日期,有引數的作為日期的重新操作

#!/bin/bash

if [ $# -eq 1 -a $ -eq 10 ];then

date=$1

date2=`date +%y%m%d -d "$date 0 days ago"`

else

if [ $# -eq 1 -a $ -eq 8 ];then

date2=$1;

date=`date +%y-%m-%d -d "$date2 0 days ago"`

else

date=`date +%y-%m-%d -d "1 days ago"`

date2=`date +%y%m%d -d "1 days ago"`

fifi

經驗總結 VIM使用技巧

24 平時游標不閃,而在插入模式時閃動 set guicursor n v c blinkon0 25 最 後 的 辦 法 如果其它的方法都行不通,你可以用ctrl v來輸入任何字元 編碼 鍵入 範圍 8 bitctrl v123 十進位制 0 255 8 bitctrl vx a1 十六進製制 0...

經驗總結 資料預處理經驗總結1

1.對於特徵較多的df,進行資料預處理時需要對每個特徵變數進行相關處理,為了避免混亂,可以df.info 後將輸出複製到sublime,然後在sublime中針對每個特徵變數進行處理方式標註 非python 只是為了展示在sublime中的效果 action type 30697 non null ...

C 經驗總結

1.標準庫的使用過程中,自己一定要注意,不能使用迭代器保留,因為新的stl中,加入了迭代器新的檢測機制,就是為了怕使用者使用的過程中自己將迭代器有意無意的引用了不存在的物件,因此這就要求我們的迭代器物件一定要在訪問的物件之前進行析購,否則你的程式將出錯。這個是c v8.0 中ms 加入新的安全機制,...