Regex แทนที่ไฟล์ 3GB บน CentOS Linux


0

ฉันมีไฟล์บันทึกในรูปแบบต่อไปนี้

[2016-10-18 00:00:04 UTC] user1: hello
[2016-10-18 00:00:05 UTC] user2: hey user
[2016-10-18 00:00:07 UTC] user3: bye

และฉันต้องการให้มันอยู่ในรูปแบบนี้

[2016-10-18 00:00:04] <user1> hello
[2016-10-18 00:00:05] <user2> hey user
[2016-10-18 00:00:07] <user3> bye

มันค่อนข้างง่ายด้วย Regex แทนที่ใน Notepad ++ บน Windows แต่ตอนนี้ฉันต้องเจอกับบันทึกขนาดใหญ่กว่า 3 กิกะไบต์และฉันต้องการทำสิ่งนี้กับ VPS

เนื่องจาก VPS จะใช้งาน CentOS วิธีที่ดีที่สุดในการทำ regex นี้คืออะไร

Find:     UTC] (\w+):
Replace with:    ] <$1> 

คำตอบ:


0

หลังจากลองผิดลองถูกมานานแล้วและมีหลายอย่างที่ว่า ฉันพบว่า sed ใช้งานได้สำหรับฉันที่นี่

sed "s/ UTC] \([[:alnum:]]\+\):/] <\1>/g" log.txt > parsed.txt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.