linux的搜索命令以及批量请求放入excel
想要查找linux里面日志中的某个字段怎么找呢?
grep shenyue $log | awk '{print $17}' $log
$log代表日志的路径,找到神月的日志并且找到某个字段。
# Author: guocheng@daixiaomi.com # Date:2018/12/24 # coding=utf8 from lambda_platform.functions_platform.base_function_node import BaseFunctionNode import datetime import json class FunctionNode(BaseFunctionNode): def init(self): self.params_check_list = ['phone'] def handler(self, **kwargs): phone = kwargs['phone'] # user_reg_info status2, ret2 = self.function_maxwell('RegisterInfo_By_Phone',params=dict(phone=phone, platform=['0'])) #user_name_info status3, ret3 = self.function_maxwell('OtherAccountInfo_By_Phone', params=dict(phone=phone)) ord = ret['1'][1][0] reg = ret2['0'][1] account = ret3 origin_dict = {} origin_dict["loadnId"] = ord['application_id'] origin_dict["originalLoanId"] = ord['application_id'] origin_dict["name"] = account['name'].decode("utf8") origin_dict["pid"] = ord['identity'] origin_dict["mobile"] = ord['phone'] origin_dict["loantype"] = ord['product'] origin_dict["accountOpenDate"] = reg['register_time'] origin_dict["applydate"] = ord['created_time'] origin_dict["issueDate"] = ord['loan_special_time'] origin_dict["loanAmount"] = ord['loan_amount'] origin_dict["totalTerm"] = ord['periods'] origin_dict["targetRepayDateType"] = 1 origin_dict["termPeriod"] = 30 origin_dict["targetRepayDateList"] = "None" tss = origin_dict["issueDate"] timeArray = datetime.datetime.strptime(tss, "%Y-%m-%d %H:%M:%S") first_time = timeArray + datetime.timedelta(30)
#在这里意思是将那个日期加上30天后,得出的时间 origin_dict["firstRepaymentDate"] = str(first_time) return True, {'order_status': "", 'order_info': origin_dict}
将接口启动后,我们就可以进行用requests去请求接口。
将拿到的数据放入到excel表格中。
# -*- coding: utf-8 -*- # 导入xlwt模块 import xlwt #! /usr/bin/env python # -*- coding:utf-8 -*- # Author: guocheng@daixiaomi.com # Date:2018/12/25 import requests import json s=[
u'15147741681', u'15914965132', u'15113771727', ] url='http://192.168.6.94:10259/test/'
#创建excel对象 book = xlwt.Workbook(encoding='utf-8', style_compression=0) #添加sheet sheet = book.add_sheet('test', cell_overwrite_ok=True)
n=0 for i in s: payload={ "phone":i, "app":"app", "api_key":1234567, "virtual_data_type":"lbd__shenyue_order_history" } res=requests.get(url,params=payload) json_data=json.loads(res.content) print(json_data) # ============================================================== try:
# 往excel表格里写入数据 sheet.write(n, 0, json_data['result_dict']['order_info']['loadnId']) sheet.write(n, 1, json_data['result_dict']['order_info']['originalLoanId']) sheet.write(n, 2, json_data['result_dict']['order_info']['name']) sheet.write(n, 3, json_data['result_dict']['order_info']['pid']) sheet.write(n, 4, json_data['result_dict']['order_info']['mobile']) sheet.write(n, 5, json_data['result_dict']['order_info']['loantype']) sheet.write(n, 6, json_data['result_dict']['order_info']['accountOpenDate']) sheet.write(n, 7, json_data['result_dict']['order_info']['applydate']) sheet.write(n, 8, json_data['result_dict']['order_info']['issueDate']) sheet.write(n, 9, json_data['result_dict']['order_info']['loanAmount']) sheet.write(n, 10, json_data['result_dict']['order_info']['totalTerm']) sheet.write(n, 11, json_data['result_dict']['order_info']['targetRepayDateType']) sheet.write(n, 12, json_data['result_dict']['order_info']['termPeriod']) sheet.write(n, 13, json_data['result_dict']['order_info']['targetRepayDateList']) sheet.write(n, 15, json_data['result_dict']['order_info']['firstRepaymentDate']) except Exception as e: pass n+=1 book.save(r'd:\test1.xls') # 在字符串前加r,声明为raw字符串,这样就不会处理其中的转义了。否则,可能会报错
继续添加搜索命令
grep -C10 "ProfileChangeLog_By_Userid" $log
表示查找相关的日志,-C10表示打印上下5行,$log为路径
第二个命令是切割命令


如图所示的一个
grep b= ym|awk -F "b=" '{print $2}'
搜索日志中b=的存在 然后将b=后面的手机号打印出来,
grep b= ym|awk -F "b=" '{print $2}' > ym.txt
表示将打印出来的写入一个新的文件
梦想随心,天地随行

浙公网安备 33010602011771号