![编辑逗号分隔字段并 grep 比我的条件大的特定字段](https://linux22.com/image/136294/%E7%BC%96%E8%BE%91%E9%80%97%E5%8F%B7%E5%88%86%E9%9A%94%E5%AD%97%E6%AE%B5%E5%B9%B6%20grep%20%E6%AF%94%E6%88%91%E7%9A%84%E6%9D%A1%E4%BB%B6%E5%A4%A7%E7%9A%84%E7%89%B9%E5%AE%9A%E5%AD%97%E6%AE%B5.png)
输入:
10,6-2021,863
11,1-2017,990
12,012020,000
13,1-2021,000
输出:
10,06/2021,863
12,01/2020,000
13,01/2021,000
在输入数据中,字段号 2 是日期,所以我想显示日期 >1-2017
或012017
并用/
答案1
解决者
gawk 'BEGIN{OFS=FS=","} {patsplit($2,a,/[0-9][0-9]?/); $2 = sprintf("%02d/%d%d", a[1], a[2], a[3])} 1' file
然后
awk -F '[,/]' '($3 == 2017 && $2 >= 01) || $3 > 2017' file