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

1
ความแตกต่างระหว่าง gawk กับ awk
พยายามที่จะเข้าใจความแตกต่างระหว่างฟังก์ชั่นทั้งสองเพ่งพิศเมื่อเทียบกับ awk? เมื่อใดที่หนึ่งที่จะใช้ gawk vs awk? หรือพวกเขาจะเหมือนกันในแง่ของการใช้งาน? นอกจากนี้หนึ่งสามารถให้ตัวอย่างได้หรือไม่
50 awk  gawk 

3
ข้าม 6 บรรทัด / แถวแรกในไฟล์ข้อความด้วย awk
ฉันจะข้าม 6 บรรทัด / แถวแรกในไฟล์ข้อความ (input.txt) และประมวลผลส่วนที่เหลือด้วย awk ได้อย่างไร รูปแบบของสคริปต์ awk ของฉัน (program.awk) คือ: BEGIN { } { process here } END { } ไฟล์ข้อความของฉันเป็นดังนี้: 0 3 5 0.1 4.3 2.0 1.5 1.5 3.0 0.3 3.3 1.5 2.1 . . . ฉันต้องการประมวลผลไฟล์เริ่มต้นจาก: 0.3 3.3 1.5 2.1 . . .
39 awk  gawk 

2
gawk inplace และ stdout
มันเป็นไปได้ที่จะใช้gawkของ-i inplaceตัวเลือกและพิมพ์สิ่งที่stdout? ตัวอย่างเช่นถ้าฉันต้องการอัปเดตไฟล์และหากมีการเปลี่ยนแปลงใด ๆ ให้พิมพ์ชื่อไฟล์และบรรทัดที่เปลี่ยนแปลงไปที่stderrฉันสามารถทำสิ่งต่าง ๆ เช่น find -type f -name 'myfiles' -exec gawk -i inplace '{if(gsub(/pat/, "repl")) { print FILENAME > "/proc/self/fd/2" ; print > "/proc/self/fd/2"; } print;}' {} + แต่มีวิธีใช้stdoutแทนหรือวิธีที่สะอาดกว่าในการพิมพ์บล็อกนั้นไปยังสตรีมสำรอง
10 awk  gawk 

4
awk กำหนดให้กับตัวแปรหลายตัวพร้อมกัน
ฉันพยายามดึงค่าตัวเลขสองค่าออกมาจากสตริงและกำหนดให้กับตัวแปรที่ใช้awk( gawkเป็นสิ่งที่ฉันใช้โดยเฉพาะ) ฉันต้องการดึงหมายเลขรุ่นหลักและรุ่นรองออกจากสตริงรุ่น tmux เป็นawkตัวแปรเช่น: อินพุต: tmux 2.8; maj == 2และmin == 8 อินพุต: tmux 1.9a; maj == 1และmin == 9 อินพุต: tmux 2.10; maj == 2และmin == 10 สมมติว่าอินพุตของฉันมาจากtmux -Vstdin ฉันมีสิ่งต่อไปนี้: tmux -V | awk '{ maj = +gensub(/([0-9]+)\..*/, "\\1", "g", $2); min = +gensub(/.*\.([0-9]+).*/, "\\1", "g", $2); # …
9 awk  gawk 

1
สภาพ awk ของจริงและเท็จ
ฉันเจอว่าถ้าเราใช้awk 0 inputfileมันจะไม่พิมพ์สาเหตุใด ๆ0หมายความว่าผิดเงื่อนไข หากเราใช้awk 1 inputfileมันจะพิมพ์ทุกอย่างตามที่เป็น1จริงสำหรับแต่ละบรรทัด awk ตีความ ถ้าเราใช้awk any_string inputfileมันจะไม่พิมพ์อะไรเลยเพราะตัวแปร awk ทั้งหมดที่เริ่มต้นเป็นศูนย์จึงเป็นเท็จ แต่ถ้าเราใช้awk any_integer inputfileมันจะกลายเป็นจริงและพิมพ์แต่ละบรรทัดของไฟล์ฉันจะรู้ได้อย่างไรว่าอะไรคือสาเหตุ? ฉันไม่สามารถหานี้ได้รับการอธิบายในGNU awkคู่มือแม้ว่า
9 awk  gawk 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.