Как отсортировать второй столбец по убыванию? [дубликат]

$ awk -F '[,/]' '($3 == 2018 && $2 >= 11) || $3 > 2018' file
coupon,11/2018,1

Al tratar la entrada como delimitada por comas o barras, el segundo campo de la entrada será el mes y el tercer campo será el año.

El programa awkimprime la entrada si el año es 2018 y el mes es mayor o igual a 11, o si el año es mayor que 2018.

Hacer esto con sedimplicaría tener que determinar si la fecha es anterior o posterior a noviembre de 2018 usando expresiones regulares. Esto no es trivial.

Una expresión regular que coincide con cualquier entero de 4 -dígitos mayor que 2018:

[3-9][0-9]{3}|2[1-9][0-9]{2}|20[2-9][0-9]|2019
^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^ 
3000-9999     2100-2999      2020-2099

Entonces el comando sedse convierte en

$ sed -n -E '\#(1[12]/2018)|([01][0-9]/([3-9][0-9]{3}|2[1-9][0-9]{2}|20[2-9][0-9]|2019))#p' file
coupon,11/2018,1
1
11.05.2019, 03:06
1 ответ
sort -k2,2gr input.txt > output.txt
3
27.01.2020, 23:22

Теги

Похожие вопросы