grep 以今天的日期命名的日志文件中的字符串
grep string from log file named with today's date
所以我有一个脚本,每小时从一个来源获取 IP 列表和其他信息,并输出一个名为 %d%m%Y-%H.csv
的文件
我想 grep 这些 IP 并将它们输出到另一个名为 IP_%d%m%Y-%H
的文件中。
但是,我似乎无法正确获取代码,它基本上 returns 是一个空文件,我认为它无法读取原始文件。
#!/bin/bash
grep -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" %d%m%Y-%H.csv>>IP_%d%m%Y-%H.txt;
done
任何想法都会很棒!
我想您想要实际日期,例如。 10022015-16.csv
那么您的脚本必须是:
#!/bin/bash
NOW=$(date +%d%m%Y-%H)
grep -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" $NOW.csv>>IP_$NOW.txt
exit $?
[edit] 按照 Jotne 的建议修改了退出语句和日期语句。
所以我有一个脚本,每小时从一个来源获取 IP 列表和其他信息,并输出一个名为 %d%m%Y-%H.csv
我想 grep 这些 IP 并将它们输出到另一个名为 IP_%d%m%Y-%H
的文件中。
但是,我似乎无法正确获取代码,它基本上 returns 是一个空文件,我认为它无法读取原始文件。
#!/bin/bash
grep -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" %d%m%Y-%H.csv>>IP_%d%m%Y-%H.txt;
done
任何想法都会很棒!
我想您想要实际日期,例如。 10022015-16.csv
那么您的脚本必须是:
#!/bin/bash
NOW=$(date +%d%m%Y-%H)
grep -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" $NOW.csv>>IP_$NOW.txt
exit $?
[edit] 按照 Jotne 的建议修改了退出语句和日期语句。