Tôi có tệp chứa nhiều cột văn bản, bao gồm dấu thời gian dọc theo các dòng Fri Jan 02 18:23
và tôi cần chuyển đổi ngày đó thành định dạng MM/DD/YYYY HH:MM
.Chuyển đổi ngày trong AWK
Tôi đã cố gắng sử dụng công cụ `date 'chuẩn với đường chuẩn awk để thực hiện chuyển đổi, nhưng tôi không thể tìm ra cách truyền các trường vào lệnh' date 'theo định dạng mong muốn (được trích dẫn với "hay 's,) như getline cần chuỗi lệnh kèm theo trong dấu ngoặc kép quá.
Something như "date -d '$1 $2 $3 $4' +'%D %H:%M'" | getline var
Bây giờ tôi nghĩ về nó, tôi đoán những gì tôi đang thực sự hỏi là làm thế nào để nhúng biến awk thành một chuỗi.
Dựa vào cờ 'ngày' không chuẩn và sau đó một đường ống thậm chí không hợp pháp như gọi một đoạn mã Perl nội tuyến để thực hiện công việc. – gary
@gary: hơi khắc nghiệt. Nếu anh ta có công cụ gnu, tại sao không sử dụng khả năng của họ? –
@glenn: Có thể ghostdog có gnu, nhưng OP đã hỏi về awk. Và thay vì thực hiện một lệnh bên ngoài (ngày) cho mỗi dòng, anh ta thực sự nên nghĩ nhiều hơn. – gary