Score:0

Regex เพื่อจับคู่บรรทัดที่เข้าถึงพอร์ตและแพ็กเก็ตเฉพาะ

ธง in

ใหม่สำหรับ Linux และวิธีเดียวที่ฉันจะทำให้สิ่งนี้ใช้งานได้คือการใช้คำสั่ง awk โชคไม่ดีที่ทิศทางหลักระบุว่าไม่ใช้ awk

นี่คือสิ่งที่ฉันได้รับ

#!/bin/sh
#comment เขียน RegEx เดียวให้ตรงกับบรรทัดที่เข้าถึงพอร์ต 22 และเฉพาะแพ็กเก็ตเหล่านั้น
grep '\s22\s' hw0206.txt | awk {'พิมพ์ $4'}
#comment grep ส่งคืนทั้งบรรทัดด้วยสตริงที่ตรงกัน
#comment \s22\s นิพจน์ทั่วไปเพื่อจับคู่สตริงใด ๆ ที่มี 22 นำหน้าหรือต่อท้ายด้วยช่องว่าง

คำแนะนำ

เขียน RegEx เดียวเพื่อให้ตรงกับบรรทัดที่เข้าถึงพอร์ต 22 และเฉพาะแพ็กเก็ตเหล่านั้น จากนั้นส่งคืนที่อยู่ IP

ไฟล์อินพุต (hw0206.txt) ผลลัพธ์ที่คาดหวังของสคริปต์
วันที่ เวลา โปรโตคอล ที่อยู่ IP ขนาดพอร์ตแพ็คเก็ต
2022-02-21 19:22:19 TCP 22.101.2.24 22 24
2018-22-22 02:25:12 UDP 10.221.7.22 2135 222
2200-05-22 22:26:22 UDP 22.122.6.62 2160 22
2012-22-20 15:43:22 TCP 10.121.7.222 22 122
1228-02-10 02:22:02 UDP 22.102.2.62 2089 22 
วันที่ เวลา โปรโตคอล ที่อยู่ IP ขนาดพอร์ตแพ็คเก็ต
2022-02-21 19:22:19 TCP 22.101.2.24 22 24
2018-22-22 02:25:12 UDP 10.221.7.22 2135 222
2200-05-22 22:26:22 UDP 22.122.6.62 2160 22
2012-22-20 15:43:22 TCP 10.121.7.222 23 122
1228-02-10 02:22:02 TCP 22.102.2.62 22 22
2100-05-25 21:26:22 UDP 22.112.63.62 2122 22
Greenonline avatar
us flag
นี่คือการบ้าน?
CryptoTrader avatar
in flag
ไม่ กวดวิชาด้วยตนเอง พยายามสอนตัวเอง
Score:2
ธง cn

ด้วยการคิดบวก มองไปข้างหน้าคุณสามารถจับคู่สิ่งที่ไม่ควรเป็นส่วนหนึ่งของผลลัพธ์:

grep -Po '(\d+\.){3}\d+(?=\s22\s)' hw0206.txt

ในกรณีนี้ฉันต้องการ อึดอัด ซึ่งให้โซลูชันที่อ่านง่ายขึ้น:

awk '$5 == 22 {พิมพ์ $4}' hw0206.txt

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา