每行都用分号分隔成多个部分
每个部分都有不同格式的日期
行可以包含数字、字母和空格。
我正在尝试更改第六部分中日期的格式。目前是这样的
12 Nov 1999
但我只需要年份。那么我怎样才能省略行的第六部分中的日期和月份而不触及其他部分
12/31/1921;12 nov 1998; 13 September 2019; 13 Sep 2018; 12 August 1998; 12 Nov 1999; 27 November 1999; 13 Dec 1999; 14 December 1999; 15 D 1999
会变成这样
12/31/1921;12 nov 1998; 13 September 2019; 13 Sep 2018; 12 August 1998;1999; 27 November 1999; 13 Dec 1999; 14 December 1999; 15 D 1999
答案1
awk -F ';' 'BEGIN { OFS=FS } { sub(".* ", "", $6); print }' file
上面将每一行解析file
为一组;
- 分隔的字段。它应用修改每行第六个字段的替换。修改涉及删除字段数据中直到最后一个空格字符的所有内容。修改第6个字段后,打印修改后的行。
答案2
与awk
的substr
功能:
awk -F';' '{ $6 = substr($6, length($6)-3) }1' OFS=';' inputfile