附加到第二列

附加到第二列

有一个csv文件

ip,time,name
1.1.1.1,2018-08-31 10:01:03,postgres
2.1.1.1,2018-08-31 12:51:13,oracle
3.1.1.1,2018-08-31 14:32:53,sql

我需要如下输出

ip,time,name
1.1.1.1,2018-08-31 10:01:03.1,postgres
2.1.1.1,2018-08-31 12:51:13.1,oracle
3.1.1.1,2018-08-31 14:32:53.1,sql

答案1

用这个:

awk -F, 'BEGIN{OFS=","} NR>1{$2=$2".1"}1' file
  • -F,设置输入字段分隔符
  • BEGIN{OFS=","}设置输出字段分隔符
  • NR>1{$2=$2".1"}.1如果行号大于 0,则将 a 附加到第二个字段

答案2

使用sed

$ sed '2,$s/,/.1,/2' file
ip,time,name
1.1.1.1,2018-08-31 10:01:03.1,postgres
2.1.1.1,2018-08-31 12:51:13.1,oracle
3.1.1.1,2018-08-31 14:32:53.1,sql

这将替换应用于第 2 行及以后的行 ( 2,$)。该替换s/,/.1,/2将第二个逗号替换为.1,。替换命令末尾的/2使其跳至第二场比赛。

相关内容