1把文件按行拼接(shell脚步)
文件f1
1
2
3
filename=$1
abc=`cat $filename | awk '
BEGIN{count=1;str=""}
{
if(count==1)
{
count++
}
else if(count<NR)
{
str=sprintf("%s,%s",str,$1)
count++
}
else
{
str+=$1
}
}
END{print str}'`
变成 1,2,3
2.产生时间点前或者后几天的日期(python脚本和shell脚本)
2.1 python脚本
先把字符串变成日期类型(strptime),在进行运算,运算结果变成字符串(strftime)
#!/use/bin/python
#coding:UTF-8
import datetime
def pro_date(appointed_date,forward_num): #2016-10-12
date_list = []
forward_num = int(forward_num)
for num in range(1,forward_num+1):
forward_day = datetime.timedelta(days=num)
this_day_time = datetime.datetime.strptime(appointed_date,"%Y-%m-%d") - forward_day
this_day = this_day_time.strftime("%Y-%m-%d")
print this_day
date_list.append(this_day)
return date_list
if __name__ == '__main__':
pro_date("2018-01-01",5)
2.2 shell脚本
#/bin/bash
function pro_date()
{
appointed_date=$1
forward_num=$2
for((i=1;i<=$forward_num;i++))
do
date=$(date -d "$i day ago $appointed_date" +%Y-%m-%d )
echo $date
done
}
pro_date "2018-01-01" 5
3.产生两个时间点内的日期(python脚本和shell脚本)
3.1python脚本
#!/use/bin/python
#coding:UTF-8
import datetime
def pro_date(begin_day,end_day): #2018-01-01
date_list = []
begin_day_datetime = datetime.datetime.strptime(begin_day,"%Y-%m-%d")
end_day_datetime = datetime.datetime.strptime(end_day,"%Y-%m-%d")
diff = end_day_datetime - begin_day_datetime
forward_num = diff.days
for num in range(1,forward_num+1):
forward_day = datetime.timedelta(days=num)
this_day_time = datetime.datetime.strptime(end_day,"%Y-%m-%d") - forward_day
this_day = this_day_time.strftime("%Y-%m-%d")
print this_day
date_list.append(this_day)
return date_list
if __name__ == '__main__':
pro_date("2017-01-01","2018-01-01")
3.2 shell脚本
function pro_date ()
{
begin_day=$1
end_day=$2
time1=$(($(date +%s -d $end_day)-$(date +%s -d $begin_day)))
forward_num=$(($time1/3600/24))
echo $forward_num
for((i=1;i<=$forward_num;i++))
do
date=$(date -d "$i day ago $end_day" +%Y-%m-%d )
echo $date
done
}
pro_date "2017-01-01" "2018-01-01"
文件f1
1
2
3
filename=$1
abc=`cat $filename | awk '
BEGIN{count=1;str=""}
{
if(count==1)
{
count++
}
else if(count<NR)
{
str=sprintf("%s,%s",str,$1)
count++
}
else
{
str+=$1
}
}
END{print str}'`
变成 1,2,3
2.产生时间点前或者后几天的日期(python脚本和shell脚本)
2.1 python脚本
先把字符串变成日期类型(strptime),在进行运算,运算结果变成字符串(strftime)
#!/use/bin/python
#coding:UTF-8
import datetime
def pro_date(appointed_date,forward_num): #2016-10-12
date_list = []
forward_num = int(forward_num)
for num in range(1,forward_num+1):
forward_day = datetime.timedelta(days=num)
this_day_time = datetime.datetime.strptime(appointed_date,"%Y-%m-%d") - forward_day
this_day = this_day_time.strftime("%Y-%m-%d")
print this_day
date_list.append(this_day)
return date_list
if __name__ == '__main__':
pro_date("2018-01-01",5)
2.2 shell脚本
#/bin/bash
function pro_date()
{
appointed_date=$1
forward_num=$2
for((i=1;i<=$forward_num;i++))
do
date=$(date -d "$i day ago $appointed_date" +%Y-%m-%d )
echo $date
done
}
pro_date "2018-01-01" 5
3.产生两个时间点内的日期(python脚本和shell脚本)
3.1python脚本
#!/use/bin/python
#coding:UTF-8
import datetime
def pro_date(begin_day,end_day): #2018-01-01
date_list = []
begin_day_datetime = datetime.datetime.strptime(begin_day,"%Y-%m-%d")
end_day_datetime = datetime.datetime.strptime(end_day,"%Y-%m-%d")
diff = end_day_datetime - begin_day_datetime
forward_num = diff.days
for num in range(1,forward_num+1):
forward_day = datetime.timedelta(days=num)
this_day_time = datetime.datetime.strptime(end_day,"%Y-%m-%d") - forward_day
this_day = this_day_time.strftime("%Y-%m-%d")
print this_day
date_list.append(this_day)
return date_list
if __name__ == '__main__':
pro_date("2017-01-01","2018-01-01")
3.2 shell脚本
function pro_date ()
{
begin_day=$1
end_day=$2
time1=$(($(date +%s -d $end_day)-$(date +%s -d $begin_day)))
forward_num=$(($time1/3600/24))
echo $forward_num
for((i=1;i<=$forward_num;i++))
do
date=$(date -d "$i day ago $end_day" +%Y-%m-%d )
echo $date
done
}
pro_date "2017-01-01" "2018-01-01"