XML은 열을 읽고 날짜 형식을 기반으로 새 데이터를 추가합니다.

XML은 열을 읽고 날짜 형식을 기반으로 새 데이터를 추가합니다.

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

출력이 이미 정렬되어 있으면 ing이 cat file1필요하지 않습니다 sort.

관련 정보