मेरे पास इसकी एक फाइल है:
1415602803,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22
1415602807,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22
1415602811,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22
1415602815,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22
मैं इस प्रारूप में टाइमस्टैम्प को तारीख में बदलना चाहता हूं:
2014-11-10 02:00:03,LOGIN SUCCESS,AUTH,user2,192.168.203.63,10.146.124.73,59996,22
2014-11-10 02:00:07,LOGIN SUCCESS,AUTH,user1,172.24.31.10,172.32.1.1,48191,22
2014-11-10 02:00:11,LOGIN FAILED,AUTH,root,172.24.166.153,10.146.124.73,52506,22
2014-11-10 02:00:15,LOGIN FAILED,AUTH,user3,192.168.123.55,10.146.32.99,55750,22
मैं उसे कैसे कर सकता हूँ?
मुझे पता है कि यह काम करता है: perl -pe 's/(\d+)/localtime($1)/e'
( इस सवाल से ) लेकिन आउटपुट स्वरूप है Mon Nov 10 02:00:03 2014
।
मुझे पता है कि यह कमांड टाइमस्टैम्प को मेरे वांछित आउटपुट में बदल सकती है: date -d@1415602803 +"%F %H:%M:%S"
लेकिन मैं सभी उद्धरणों और व्हाट्सएप के कारण इसका awk
उपयोग नहीं कर सका system("cmd")
।
awk 'BEGIN{ print strftime("%Y-%m-%d %H:%M:%S", 0) }'
awk: line 2: function strftime never defined
यहाँ देता है। कृपया स्पष्ट करें कि हर किसी के पास नहीं हैstrftime()
! अधिकांश (सभी?) AWK में चलने वाले समाधान के लिए, कृपयाdate
पोर्टेबल रहने के लिए बाहरी कमांड का उपयोग करें ।