如何在awk中编辑字段?

时间:2018-05-15 10:23:18

标签: awk sed posix

我的大学任务之一我必须使用POSIX实用程序编辑数据库。

我的问题如下,我收到了一份公司导入日志,我的教授希望我摆脱小数秒。

2018-04-12 17:03:45,547 INFO:twoex.db.record_administration.utilities:

我尝试过使用awk,但由于时间戳只有一个字段,我正在努力摆脱,547

有谁知道如何解决这个问题? 提前谢谢。

2 个答案:

答案 0 :(得分:1)

只需删除第一个逗号及其后的所有内容,直到找到空格或制表符(我不清楚字段分隔符是什么):

sed 's/,[^ \t]*//' file

结果:

2018-04-12 17:03:45 INFO:twoex.db.record_administration.utilities:      # old line
2018-04-12 17:03:45,547 INFO:twoex.db.record_administration.utilities:  # new line

答案 1 :(得分:0)

关注awk可能对您有帮助。

awk '{sub(/,.*/,"",$2)} 1'  Input_file

如果您想将输出保存到Input_file本身,请在上面的命令> temp_file && mv temp_file Input_file上添加以下内容。