2番目の列に追加

2番目の列に追加

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より大きい場合は、2番目のフィールドに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は2番目のカンマを.1,/22番目の一致に移動するには、コマンドの最後にを置き換えます。

関連情報