如何使用awk删除列的一部分

Nam*_*ess 5 awk date sort

我有这个 :

2018:01:02-23:52:48
2018:01:02-23:52:48
2018:01:02-23:52:48
2018:01:03-09:26:20
2018:01:03-09:26:20
Run Code Online (Sandbox Code Playgroud)

我想保留日期,而不是小时,以便对每天的消息数进行排序:

2018:01:02
2018:01:02
2018:01:02
2018:01:03
2018:01:03
Run Code Online (Sandbox Code Playgroud)

awk如果可能的话,我想这样做。

jim*_*mij 13

  • 剪切是正确的工具,+1 :) (3认同)
  • 如果这是您想对输入行做的唯一一件事情,那么 cut 是正确的工具。如果您还想做其他事情,请使用 awk 或 perl。甚至 sed。 (2认同)

Rom*_*est 7

只需awk

awk -F'-' '{ print $1 }' file
Run Code Online (Sandbox Code Playgroud)
  • -F'-'- 将-(破折号)视为字段分隔符

但在你的简单情况下,grep方法会更简单:

grep -o '^[^-]*' file
Run Code Online (Sandbox Code Playgroud)