mysql - 如何将隐含年份添加到未指定年份的字符串中?

标签 mysql perl sed awk

我必须从网站下载许多文本文件。然后我必须将其放入 MySQL 数据库中,但该文件具有以下形式的行:

02/04 15:00 Some strings

03/03 15:00 other strings

01/12/2010 12:00 other strings

03/04 15:00 more strings

...

如果没有明确写出年份,则表示是当前年份。因此,我需要逐行解析文件,并将 dd/mm 形式的每个日期转换为 dd/mm/yyyy 形式的日期(其中 yyyy 是当然是当年)在我将其放入数据库之前。
我怎样才能做到这一点?

最佳答案

一个有点高尔夫的 Perl 解决方案:

perl -MTime::Piece -pe '$yy=localtime->year; s{^(\d{2}/\d{2})(\s)}{$1/$yy$2}' input

关于mysql - 如何将隐含年份添加到未指定年份的字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5097015/

相关文章:

perl - 给定一个输入词,如何生成发音相似的词列表?

perl - 在perl中将序列值转换为日期

bash - 使用两列比较三个文件并使用 awk/sed 在每个文件中打印唯一条目

awk - 如何使用 sed 或 awk 将单词排成一行?

更改文件并保存的shell命令

java - Java程序与MySQL数据库建立通信

mysql - 带日期的 Sqoop psql 查询

linux - Perl: Device::USB 没有通过测试

MYSQL 自动创建索引时

java - 我在 netbeans 中收到 42000 sql 语法错误,但相同的查询字符串在 mysql 控制台中工作正常