if [ ! -e $1 ];then 27 echo "Can't find $1!" exit 1
时间: 2024-05-29 07:08:55 浏览: 3
This is a bash script command, it checks if the file or directory specified in the first argument exists. If not, it will print "Can't find $1!" and exit with status code 1.
相关问题
#!/bin/bash #变量不能为空 if [ "$1" = "" -a "$2" = "" -a "$3" = "" -a "$4" = "" -a "$5" = "" ];then echo "please specify variable bfe_log_dir mysqlHost mysqlPort mysqlDBName time" exit 0 fi loadDataFile="./time_consuming.log" logFilesDir="./log_files.txt" fileDate=$(date -d $5' minute ago' +'%Y-%m-%d %H:%M:%S') nowDate=$(date '+%Y-%m-%d %H:%M:%S') if [ ! -f $logFilesDir ];then touch $logFilesDir echo "create log_files success." else echo "log_files ready" fi find $1 -type f -newermt "$fileDate" ! -newermt "$nowDate" -name 'access_2.log.*' > $logFilesDir if [ ! -f $loadDataFile ];then touch $loadDataFile echo "create load date file success." else echo "load date file ready" fi echo > $loadDataFile #start read bfe log file while read line do echo "read bfe log file: "$line #采集Link-trace-id,backendDur字段信息 cat $line | grep "type\[Req\]" | awk -F"]" '{print $1,$12}' | awk -F"[\[ ]" '{print $2","$5}' |awk -F , '{if($1!="-")print}' >> $loadDataFile done < $logFilesDir echo "backent dur write file success." #将采集信息插入到数据库中 loadCommand="load data local infile '$loadDataFile' into table ai_backend_dur_log fields terminated BY ',' lines terminated BY '\n' (trace_id,backend_dur);" mysql --local-infile=1 -u gzaipbc -pGzaipbc@123 -h $2 -P $3 $4 -e "$loadCommand" exit 0
这是一个 Bash 脚本,主要功能是从指定目录中读取符合时间范围内的日志文件,提取其中的特定字段信息,然后将这些信息插入到指定的 MySQL 数据库表中。具体流程如下:
1. 首先判断是否传入了必要的参数,如果没有就提示用户输入。
2. 创建用于记录符合时间范围内的日志文件名的文件 log_files.txt。
3. 使用 find 命令查找指定目录中符合时间范围内的日志文件,将其文件名写入 log_files.txt 中。
4. 创建用于记录采集到的信息的文件 time_consuming.log。
5. 读取 log_files.txt 中的每个日志文件,使用 grep 和 awk 命令从中提取出 Link-trace-id 和 backendDur 两个字段的信息,将其写入 time_consuming.log 文件中。
6. 将 time_consuming.log 文件中的信息通过 load data 命令插入到指定的 MySQL 数据库表中。
注意,脚本中的参数依次为:bfe_log_dir(指定的目录)、mysqlHost(MySQL 主机名)、mysqlPort(MySQL 端口号)、mysqlDBName(MySQL 数据库名)、time(时间范围,单位为分钟)。另外,脚本中的 MySQL 用户名和密码都是写死的,需要根据具体情况修改。
if ("$num1" != "") then sed -i "${num1}c #" Makefile else echo "do not find grep1" exit 1 endif解释
如果如果"$如果"$num如果"$num1如果"$num1"如果"$num1"不如果"$num1"不为空如果"$num1"不为空,如果"$num1"不为空,那如果"$num1"不为空,那么如果"$num1"不为空,那么就如果"$num1"不为空,那么就执行如果"$num1"不为空,那么就执行sed如果"$num1"不为空,那么就执行sed -如果"$num1"不为空,那么就执行sed -i如果"$num1"不为空,那么就执行sed -i "${如果"$num1"不为空,那么就执行sed -i "${num如果"$num1"不为空,那么就执行sed -i "${num1如果"$num1"不为空,那么就执行sed -i "${num1}如果"$num1"不为空,那么就执行sed -i "${num1}c如果"$num1"不为空,那么就执行sed -i "${num1}c 如果"$num1"不为空,那么就执行sed -i "${num1}c 。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)