Acrescentar à segunda coluna

0

Existe um arquivo 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

Eu preciso de saída como abaixo

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
    
por Syed Rizvi 31.08.2018 / 11:38

2 respostas

1

Usando 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

Isso aplica uma substituição à linha 2 e adiante ( 2,$ ). A substituição s/,/.1,/2 substitui a segunda vírgula por .1, . É o /2 no final do comando de substituição que faz com que ele passe para o segundo jogo.

    
por 31.08.2018 / 11:56
2

Use isto:

awk -F, 'BEGIN{OFS=","} NR>1{$2=$2".1"}1' file
  • -F, define o separador do campo de entrada
  • BEGIN{OFS=","} define o separador do campo de saída
  • NR>1{$2=$2".1"} acrescenta um .1 se o número da linha for maior que 0 para o segundo campo
por 31.08.2018 / 11:47