У меня есть следующие данные в XML-документе
NAME 19/02/2019 23/02/2019 23/02/2019 13:21 12.99 0 12.99 Paid PayPal
NAME 19/02/2019 23/02/2019 23/02/2019 13:22 12.99 0 12.99 Paid PayPal
NAME 22/02/2019 23/02/2019 23/02/2019 13:23 12.99 0 12.99 Paid PayPal
NAME 23/02/2019 23/02/2019 23/02/2019 13:24 12.99 0 12.99 Paid PayPal
NAME 23/02/2019 23/02/2019 23/02/2019 13:25 12.99 0 12.99 Paid PayPal
NAME 23/02/2019 23/02/2019 23/02/2019 13:26 12.99 0 12.99 Paid PayPal
Колонны есть
Client Name Creation Date Due Date Date Paid Subtotal Credit Total Status Payment Method
Мне нужно преобразовать эти данные в следующее ниже. Новый столбец, добавленный в начале, будет датой, когда был сгенерирован счет, за которым следует числовой порядок для этого дня на основе порядка, в котором они находятся в моем документе, а не времени, например, 13:21. Каждый день должен начинаться с 1.
19-02-2019-1 NAME 19/02/2019 23/02/2019 23/02/2019 13:21 12.99 0 12.99 Paid PayPal
19-02-2019-2 NAME 19/02/2019 23/02/2019 23/02/2019 13:22 12.99 0 12.99 Paid PayPal
22-02-2019-1 NAME 22/02/2019 23/02/2019 23/02/2019 13:23 12.99 0 12.99 Paid PayPal
23-02-2019-1 NAME 23/02/2019 23/02/2019 23/02/2019 13:24 12.99 0 12.99 Paid PayPal
23-02-2019-2 NAME 23/02/2019 23/02/2019 23/02/2019 13:25 12.99 0 12.99 Paid PayPal
23-02-2019-3 NAME 23/02/2019 23/02/2019 23/02/2019 13:26 12.99 0 12.99 Paid PayPal
Как мне это сделать? Желательно с помощью perl, но подойдет что угодно.
решение1
Если вы просто хотите изменить текстовый вывод из вашего xml
/, xpath
то передайте его через awk
....
sort -k2 file1 | awk '{head[$2]++;print $2"-"head[$2], $0}'
Выход
19/02/2019-1 NAME 19/02/2019 23/02/2019 23/02/2019 13:21 12.99 0 12.99 Paid PayPal
19/02/2019-2 NAME 19/02/2019 23/02/2019 23/02/2019 13:22 12.99 0 12.99 Paid PayPal
22/02/2019-1 NAME 22/02/2019 23/02/2019 23/02/2019 13:23 12.99 0 12.99 Paid PayPal
23/02/2019-1 NAME 23/02/2019 23/02/2019 23/02/2019 13:24 12.99 0 12.99 Paid PayPal
23/02/2019-2 NAME 23/02/2019 23/02/2019 23/02/2019 13:25 12.99 0 12.99 Paid PayPal
23/02/2019-3 NAME 23/02/2019 23/02/2019 23/02/2019 13:26 12.99 0 12.99 Paid PayPal
Если ваш вывод уже отсортирован, то просто cat file1
вместо sort
ing.