我的日志文件的布局如下:
08/30 06:30:40 0000:00:04 T992 **** 01865888888 860444 ST992 101 T1011 1865888888 Y1016969 A
08/30 06:35:09 0000:00:03 T992 **** 01865888888 E 101 T1011 1865888888 G1013976 A
08/30 06:36:50 0000:00:03 T992 **** 01865888888 E 101 T1011 1865888888 W1017933 A
08/30 06:48:34 0000:00:16 516332 **** 516330 I 516330 101
如何均匀地显示所有列,以便我可以轻松地将这些数据导入数据库。
我已经尝试过 Windows 的 SED 来删除多个空格并插入逗号,但仍然没有排列我需要的所有列,例如内联的 101 和内联的所有日期等。
有人帮忙吗?
最佳答案
在这里,我为您开始:
sed -r 's/(.{5}) (.{8}) (.{10}) (.{6})/"\1","\2","\3","\4"/'
这将提取前 4 个字段。
计算列数,放入(.{<number>})
添加空格
使用 ,"\<field number>"
得到结果
这是我的测试
echo "08/30 06:48:34 0000:00:16 516332 **** 516330 I 516330 " | sed -r 's/(.{5}) (.{8}) (.{10}) (.{6})/"\1","\2","\3","\4"/'
关于mysql - 如何将我的 .log 文件存入数据库或适合数据库的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46353874/