通过编辑管理逗号分隔字段

通过编辑管理逗号分隔字段

我有如下文本:

Milk,10,2018,110

我想将其编辑为以下输出:

Milk 10/18 110 NONE NONE NONE NONE

通过以下方式对其进行改造:

  • 删除逗号
  • 使用分隔符选项卡
  • 添加NONE NONE NONE NONE为所有信息的稳定词。
  • 编辑月份和年份,例如 10,2018 为 10/18

答案1

Awk解决方案:

awk -F',' '{ printf "%s\t%s\t%s\tNONE\tNONE\tNONE\tNONE\n", $1, $2"/"substr($3, 3), $4 }' file

输出:

Milk    10/18   110 NONE    NONE    NONE    NONE

或者另一种方式:

awk -F',' '{ $5=$6=$7=$8="NONE"; print $1,$2"/"substr($3, 3),$4,$5,$6,$7,$8 }' OFS='\t' file

答案2

‰ sed -e 's#\([^,]*\),\([^,]*\),..\([^,]*\),\(.*\)#\1 \2/\3 \4 NONE NONE NONE NONE#' <<< 'Milk,10,2018,110' Milk 10/18 110 NONE NONE NONE NONE

相关内容