ฉันมีบันทึกการเข้าถึงจากเซิร์ฟเวอร์ของฉัน ฉันต้องใช้ความแตกต่างของเวลาระหว่างสองบันทึก บันทึกการเข้าถึงของฉันมีรูปแบบเวลาดังต่อไปนี้: "14/เม.ย./2021 06:25:09"
หากต้องการหาความแตกต่างระหว่างการประทับเวลาสองครั้ง ฉันคิดว่าควรแปลงการประทับเวลาที่กำหนดเป็นวินาทีตั้งแต่ยุคก่อนแล้วจึงนำความแตกต่าง
ตัวอย่างบันทึกการเข้าถึง:
106.222.52.107 - - [14/Apr/2021:06:25:06 -0400] "POST URL1 HTTP/1.1" 204 4649 708 "Mozilla/5.0 (Linux; Android 11; V2037) AppleWebKit/537.36 (KHTML เช่น Gecko ) Chrome/83.0.4103.106 มือถือ Safari/537.36"
157.34.255.192 - - [14/Apr/2021:06:25:08 -0400] "GET URL2 200 5309 1125 "Mozilla/5.0 (Linux; Android 7.1.1; CPH1729 Build/N6F26Q) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/61.0.3163.98 มือถือ Safari/537.36"
1.38.48.202 - - [14/Apr/2021:06:25:10 -0400] "GET URL3 HTTP/1.1" 200 8692 64616 "Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 เช่น Mac OS X) AppleWebKit/605.1. 15 (KHTML เช่น Gecko) เวอร์ชัน/14.0.3 มือถือ/15E148 Safari/604.1"
106.222.52.107 - - [14/Apr/2021:06:28:06 -0400] URL4 200 10506 1063 "Mozilla/5.0 (Linux; Android 11; V2037) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/83.0.4103.106 มือถือ Safari/537.36"
157.34.255.192 - - [14/Apr/2021:06:29:06 -0400] URL5 200 620 866 "Mozilla/5.0 (Linux; Android 7.1.1; CPH1729 Build/N6F26Q) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/61.0.3163.98 มือถือ Safari/537.36"
ดังนั้นฉันต้องการแปลง "14/Apr/2021:06:25:06" เป็นวินาทีตั้งแต่ยุค
ฉันใช้คำสั่ง date เพื่อแปลงการประทับเวลาที่กำหนดเป็นวินาที ต่อไปนี้เป็นคำสั่ง:
วันที่ "+%s" -d="14/เม.ย./2564 06:25:09"
มันให้ข้อผิดพลาดต่อไปนี้:
วันที่: วันที่ไม่ถูกต้อง â=14/เม.ย./2021 06:25:09â
แต่เมื่อ ฉันแลกเปลี่ยนตำแหน่งวันและเดือน แล้วมันทำงานได้ดี
วันที่ "+%s" -d "04/14/2021 06:25:09" เอาต์พุต: 1618399509
คำสั่ง date มีรูปแบบที่กำหนดไว้ล่วงหน้าหรือไม่? การเปลี่ยนรูปแบบการประทับเวลาในบันทึกการเข้าถึงทำได้ยาก คุณช่วยแก้ปัญหานี้ได้ไหม ฉันต้องเขียนเชลล์สคริปต์ที่ฉันต้องอ่านบันทึกการเข้าถึง และขึ้นอยู่กับ IP และการประทับเวลา ฉันต้องสร้างไฟล์ข้อมูลอีกไฟล์หนึ่ง
ฉันใช้ Ubuntu 20