我希望能够快速做到这样的事情:
我有一个MySQL数据库表,其中包含访问我网站的访问者。列是日期,IP地址,浏览器,URL,引用。
我想这样做:
sed / awk是否适合这类问题?或者像Ruby这样的脚本语言会更合适吗?
我并没有“得到”sed / awk实际上是什么。随意简要解释一下。谢谢!
答案 0 :(得分:2)
我建议将SQL用于此目的。这就是为什么你首先将数据存储在数据库中的不是吗?
答案 1 :(得分:2)
Sed和Awk是文本处理工具。因此,它们可以在您的数据以漂亮的文本格式(通常等同于人类可读的)呈现的情况下提供帮助。
SQL数据库通常以二进制格式存储,这些工具不是最佳选择。即使是一些人类可读的格式,其他工具也会更好(XML可能是最好的例子)。
如果您可以将数据库导出为CSV(逗号分隔值电子表格),则可能有更好的机会使用这些工具进行处理。
否则,使用Perl / Python / Ruby和合适的SQL模块来访问数据会更容易。
希望这有助于=)
答案 2 :(得分:0)
Sed或Awk不适合用于文本处理的此问题。我建议使用Python
或PHP
结合相关的SQL
库/模块,并使用cron来安排脚本的执行。这些脚本将与(对于php)。
$db_host = 'localhost';
$db_user = 'mysql_user'
$db_pwd = 'supersecret'
$Date = '10/3/2010' #Whatever the date format is in the DB
mysqlconnect($db_host, $db_user, $db_pwd);
$result = mysql_query("SELECT * FROM db.table WHERE time=$Date);
while (!$row = mysql_fetch_row($result))
echo $row
# Should check IP before deletion - **WARNING** Will delete all data from table
mysql_query("DELETE FROM db.table")
mysql_free_result($result)
注意:这不会对行检查进行删除,但是您可以了解如何开始开发。