คำถามติดแท็ก awk

ยูทิลิตี้ AWK เป็นเครื่องมือแยกและรายงานข้อมูลที่ใช้ภาษาสคริปต์ที่ขับเคลื่อนด้วยข้อมูลซึ่งประกอบด้วยชุดของการดำเนินการที่จะดำเนินการกับข้อมูลที่เป็นข้อความ (ไม่ว่าจะในไฟล์หรือสตรีมข้อมูล) เพื่อวัตถุประสงค์ในการจัดทำรายงานที่มีรูปแบบ

12
คุณมีสคริปต์ awk และ grep ที่มีประโยชน์สำหรับการแยกวิเคราะห์บันทึก apache หรือไม่? [ปิด]
ฉันสามารถใช้เครื่องมือวิเคราะห์บันทึก แต่บ่อยครั้งที่ฉันต้องแยกบันทึกการใช้เว็บล่าสุดเพื่อดูว่าเกิดอะไรขึ้นในขณะนี้ บางครั้งฉันก็ทำสิ่งต่าง ๆ เพื่อหา 10 อันดับบนสุดที่ร้องขอไฟล์บางไฟล์ cat foo.log | grep request_to_file_foo | awk '{print $1}' | sort -n | uniq -c | sort -rn | head คุณมีอะไรในกล่องเครื่องมือของคุณ?

3
วิธีรับลายนิ้วมือทั้งหมดสำหรับไฟล์. ssh / authorized_keys (2)
มีวิธีง่ายๆในการรับรายการลายนิ้วมือทั้งหมดที่ป้อนใน. ssh / authorized_keys || หรือไม่ .ssh / authorized_keys2 ไฟล์? ssh-keygen -l -f .ssh/authorized_keys จะคืนลายนิ้วมือของบรรทัดแรก / รายการ / publickey แฮ็คกับ awk: awk 'BEGIN { while (getline < ".ssh/authorized_keys") { if ($1!~"ssh-(r|d)sa") {continue} print "Fingerprint for "$3 system("echo " "\""$0"\"> /tmp/authorizedPublicKey.scan; \ ssh-keygen -l -f /tmp/authorizedPublicKey.scan; \ rm /tmp/authorizedPublicKey.scan" ) } …
39 ssh  bash  ssh-keys  awk  ssh-keygen 

8
bash / sed / awk / etc ลบบรรทัดใหม่อื่น ๆ ออก
คำสั่ง bash ให้ผลลัพธ์นี้: Runtime Name: vmhba2:C0:T3:L14 Group State: active Runtime Name: vmhba3:C0:T0:L14 Group State: active unoptimized Runtime Name: vmhba2:C0:T1:L14 Group State: active unoptimized Runtime Name: vmhba3:C0:T3:L14 Group State: active Runtime Name: vmhba2:C0:T2:L14 Group State: active ฉันต้องการส่งไปที่บางสิ่งเพื่อให้มีลักษณะดังนี้: Runtime Name: vmhba2:C0:T1:L14 Group State: active Runtime Name: vmhba3:C0:T3:L14 Group State: active unoptimized Runtime …
39 bash  sed  awk 

7
วิธีการแยกไฟล์ PEM
หมายเหตุ:นี่ไม่ใช่คำถามจริง ๆ เพราะฉันพบคำตอบแล้ว แต่เนื่องจากฉันไม่พบมันได้อย่างง่ายดายที่นี่ฉันจะโพสต์มันเพื่อให้เป็นประโยชน์ต่อผู้อื่น คำถาม:วิธีการอ่านไฟล์ PEM ที่ต่อกันเป็นไฟล์ที่ใช้โดย apache / mod_ssl directive SSLCACertificateFile ? คำตอบ (ต้นฉบับ) ( แหล่งที่มา ): cat $file|awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}' openssl pkcs7 -outform PEM -in my-chain-file -print_certsนี้สามารถออกจากไฟล์ที่ว่างเปล่าถ้ามีบรรทัดว่างที่สิ้นสุดเช่นกับ หากต้องการป้องกันให้ตรวจสอบความยาวของเส้นก่อนพิมพ์: cat $file|awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {if(length($0) > 0) print > "cert" n …
37 shell  openssl  awk  x509 

8
วิธีค้นหาที่อยู่ mac ของเครื่องทั้งหมดในเครือข่าย
มีวิธีง่าย ๆ ในการค้นหาที่อยู่ mac ของเครื่องทั้งหมดในเครือข่ายของฉันแทนที่จะทำ SSH ลงในแต่ละเครื่องและifconfig | grep HWaddrหากมี 300 เครื่องในเครือข่ายฉันต้องการโซลูชันที่ง่ายจริงๆ

3
วิธีที่ดีที่สุดในการรับ MAC ของ eth0
มีวิธีที่มีประสิทธิภาพมากกว่าในการดึงที่อยู่ MAC ของ NIC ใน Linux หรือไม่ งานนี้: ip link show dev eth0 | awk ' /link\/ether/ { print $2 }' แต่สามารถพบได้ผ่านสิ่งที่ชอบ: cat /sys/net/something
20 linux  mac  ethernet  awk  net 

4
คำสั่ง Linux shell เพื่อกรองไฟล์ข้อความตามความยาวบรรทัด
ฉันมีดิสก์อิมเมจ 30gb ของพาร์ติชัน borked (คิดว่าdd if=/dev/sda1 of=diskimage) ที่ฉันต้องการกู้คืนไฟล์ข้อความบางไฟล์ ข้อมูลการแกะสลักเครื่องมือเช่นการทำงานเฉพาะในไฟล์ที่มีส่วนหัวที่กำหนดไว้อย่างดีเช่นไม่ไฟล์ข้อความธรรมดาดังนั้นฉันได้กลับลดลงในเพื่อนที่ดีของฉันforemoststrings strings diskimage > diskstrings.txt ผลิตไฟล์ข้อความ 3gb ที่มีสตริงจำนวนมากซึ่งส่วนใหญ่เป็นสิ่งที่ไร้ประโยชน์ผสมกับข้อความที่ฉันต้องการจริง ๆ เรือลาดตระเวนส่วนใหญ่มีแนวโน้มที่จะยาวและไม่มีเรี่ยวแรงมากนัก สิ่งที่ฉันสนใจรับประกันได้ว่าจะน้อยกว่า 16kb ดังนั้นฉันจะกรองไฟล์ตามความยาวบรรทัด นี่คือสคริปต์ Python ที่ฉันใช้: infile = open ("infile.txt" ,"r"); outfile = open ("outfile.txt","w"); for line in infile: if len(line) < 16384: outfile.write(line) infile.close() outfile.close() งานนี้ แต่สำหรับการอ้างอิงในอนาคตจะมีผู้ใดมนต์ขลังหนึ่งบรรทัด (คิดว่าawk, sed) ที่จะกรองไฟล์โดยความยาวสายหรือไม่?
19 sed  filter  awk  strings 

8
สามารถใช้ awk แทนได้หรือไม่
ฉันต้องการรับหมายเลขratingเป็นผลลัพธ์จากสิ่งนี้ # nc localhost 9571 language: language:en_ZA.UTF-8 language:en_ZW.UTF-8 session-with-name:Ubuntu Classic (No effects):gnome-session --session=2d-gnome session-with-name:Ubuntu (Safe Mode):gnome-session -f --session=2d-gnome session-with-name:Ubuntu Classic:gnome-session --session=classic-gnome xsession:/etc/X11/Xsession rating:94 ฉันสามารถทำสิ่งนี้ได้ # nc localhost 9571 | grep rating | cut -d: -f2 94 แต่สามารถawkใช้แทนโซลูชันที่ง่ายกว่าได้ไหม
17 linux  bash  grep  awk 

3
วิธีลบตัวละครทั้งหมดในหนึ่งบรรทัดหลัง“]” ด้วย sed?
วิธีลบตัวละครทั้งหมดในหนึ่งบรรทัดหลังจาก "]" ด้วย sed? ฉันกำลังพยายาม grep ไฟล์โดยใช้ cat, awk ตอนนี้ Oneliner ของฉันส่งคืนสิ่งที่ชอบ 121.122.121.111] other characters in logs from sendmail.... :) ตอนนี้ฉันต้องการลบทั้งหมดหลังจากอักขระ "]" (พร้อม "]") ฉันต้องการเฉพาะ121.122.121.111ในผลลัพธ์ของฉัน ฉันกำลังค้นหาตัวอย่างเฉพาะของความเฉยเมย แต่ไม่พบความช่วยเหลือในตัวอย่างเหล่านั้น
13 linux  sed  awk 

6
จะแยกวิเคราะห์และแปลงไฟล์ ini เป็นตัวแปรอาเรย์ bash ได้อย่างไร?
ฉันพยายามแปลงไฟล์ ini เป็นตัวแปรอาเรย์ของ bash ตัวอย่าง ini ดังต่อไปนี้: [foobar] session=foo path=/some/path [barfoo] session=bar path=/some/path ดังนั้นสิ่งเหล่านี้จึงกลายเป็น: session[foobar]=foo path[foobar]=/some/path session[barfoo]=bar และอื่น ๆ ตอนนี้ฉันสามารถขึ้นมาด้วยคำสั่งนี้เท่านั้น awk -F'=' '{ if ($1 ~ /^\[/) section=$1; else if ($1 !~ /^$/) print $1 section "=" $2 }' นอกจากนี้ยังมีปัญหาอื่นคือมันไม่ได้ใช้พื้นที่ใกล้=เข้าสู่การพิจารณา ฉันคิดว่าsedน่าจะเหมาะกว่าสำหรับงานนี้ แต่ฉันไม่รู้ว่าจะเก็บและเก็บตัวแปรชั่วคราวสำหรับชื่อส่วนsedได้อย่างไร ดังนั้นความคิดวิธีการทำเช่นนี้?

2
iptables แสดงเพียงเชนเดียว
tldr: ฉันจะทำให้ iptables แสดงเพียงเชนเดียวได้อย่างไร ฉันสามารถให้ iptables แสดงเพียงหนึ่งตาราง แต่ตารางประกอบด้วยหลายโซ่ ฉันต้องการหาที่ INPUT ในห่วงโซ่เป็นกฎสุดท้าย (ปกติ แต่ไม่เสมอปฏิเสธกฎทั้งหมด) ฉันได้ลองแล้วหรือแม้กระทั่ง grep บางส่วน แต่ความสามารถของฉันในสิ่งเหล่านั้นจะต้องลดลง ฉันได้ลองใช้ awk เพื่อให้ได้เพียงย่อหน้าเดียว แต่นั่นดูเหมือนจะไม่ทำงานกับผลลัพธ์ของiptables --line-numbers -n -L -t filterอาจเพราะบรรทัดว่างเหล่านั้นไม่ได้ว่างเปล่าจริงๆ ฉันกำลังมองหาวิธีแก้ปัญหาด้วยเครื่องมือ gnu ทั่วไปที่จะติดตั้งในสภาพแวดล้อมที่น้อยที่สุดของ CentOS 6
12 iptables  firewall  awk 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.