我想编写一个脚本,将输出存储到 txt 文件中,但是我提取它的源每天都会将名称更改一个或多个字符(根据日历)。
我如何编写一个脚本来帮助我每天搜索行中的下一个文件或按创建日期进行搜索?
该命令如下所示:
cat /etc/xxxx/logs/app_20151002.log | grep "IP address " |
awk '{print $10}' | uniq -c | sort -rnk1 |
awk '{print $2}' | tr "," " " | uniq -c |
grep -v "0.0.0.0" | >> /home/output.txt
明天的日志文件将是app_20151003.log
等等。
答案1
你是这个意思吗?
cat /etc/xxxx/logs/app_$(date +%Y%m%d).log | grep "IP address " |
awk '{print $10}' | uniq -c | sort -rnk1 | awk '{print $2}' |
tr "," " " | uniq -c | grep -v "0.0.0.0" | >> /home/output.txt
解释:
date +%Y%m%d
YYYYMMDD
以您想要的格式返回当前日期(主机当前时间所理解的日期) 。该$()
部分是一个有用的 bash 宏,它创建一个子 shell,执行括号之间的命令并将 stdo 返回到原始命令中。