写了个python小脚本。对其中方法做个小注解。
#!/usr/bin/python
##READ ME
# search_string.py is a python script , which output string search result base on input file.
#first argument : input log file : src_log_folder/config_spec.log
#second argument : The string which need to search : ga/sgd/sa_dsgads\[0\]
#third argument : Target log file, which warning info will output to
##cmd_eg :python search_string.py src_log_folder/config_spec.log ga/sgd/sa_dsgads\[0\] log_save_folder/kk.log
##cmd_eg : ./search_string.py src_log_folder/config_spec.log ga/sgd/sa_dsgads\[0\] log_save_folder/kk.log
##cmd_eg : search_string.py src_log_folder/config_spec.log ga/sgd/sa_dsgads\[0\] log_save_folder/kk.log
import os
import re
import sys
log_input = sys.argv[1]
search_string = sys.argv[2]
save_log = sys.argv[3]
src_log= open(log_input)
log_list=src_log.readlines()
match_times=0
for line in log_list:
if(re.search(search_string,line)):
match_times+=1
src_log.close
if (match_times==0):
print(" WARNING: '%s' not found " %(search_string) )
add2log= open(save_log, 'a+')
add2log.write(" WARNING: '%s' not found " %(search_string) +'\n')
add2log.close
else:
print(" '%s' found %d times" %(search_string ,match_times) )
这个简单的脚本使用到了输入参数,research,读写文件等操作。
1,输入参数,这里采用的是sys模块中的argv函数。很简单
2,文件打开:这里是用a+的方式打开,因为这个输出文件可能不存在,而且要以追加的方式写入。a的方式,如果文件不存在,就会新建。
3,这里是逐行读取吗,然后用re的seach匹配之。