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

awk เป็นภาษาการเขียนโปรแกรมที่มีวัตถุประสงค์พิเศษสำหรับการแยกและรายงานข้อมูล

5
วิธีการแยกเขตข้อมูลด้วยช่องว่างหรือแท็บใน awk
ในขณะที่เล่นกับawkฉันมาเพื่อรัน: ls -la >> a.txt ; awk {'print $5 $1'} a.txt ; นี่คือการให้ผลลัพธ์เช่น: 53277-rw------- 52347-rw------- ฉันจะหาช่องว่างระหว่างเพื่อนสองคนของเอาท์พุตได้อย่างไร


5
ฉันจะรวมไฟล์เป็นรายบรรทัดได้อย่างไร
cat file1 foo ice two cat file2 bar cream hundred ผลลัพธ์ที่ต้องการ: foobar icecream twohundred file1 และ file2 จะมีจำนวนบรรทัดเท่ากันเสมอในสถานการณ์ของฉันในกรณีที่ทำให้สิ่งต่าง ๆ ง่ายขึ้น

5
ความแตกต่างของไฟล์ขนาดใหญ่สองไฟล์
ฉันมี "test1.csv" และมันมี 200,400,600,800 100,300,500,700 50,25,125,310 และ test2.csv และประกอบด้วย 100,4,2,1,7 200,400,600,800 21,22,23,24,25 50,25,125,310 50,25,700,5 ตอนนี้ diff test2.csv test1.csv > result.csv แตกต่างจาก diff test1.csv test2.csv > result.csv ฉันไม่รู้ว่าคำสั่งใดถูกต้อง แต่ฉันต้องการอย่างอื่นทั้งสองคำสั่งด้านบนจะแสดงผลลัพธ์ออกมาเหมือนกัน 2 > 100,4,2,1,7 3 2,3c3,5 4 < 100,300,500,700 5 < 50,25,125,310 6 \ No newline at end of file 7 --- 8 …
14 grep  sed  awk  diff 

5
ฉันจะประมวลผลหลายระเบียนด้วย awk ในสคริปต์ทุบตีได้อย่างไร
example.txt อยู่ด้านล่าง Restaurant: McDonalds City: Miami State: Florida Address: 123 Biscayne Blvd Phone: 911 Restaurant: 5 guys City: Atlanta State: Georgia Address: 123 Peachtree Rd Phone: 911 Restaurant: KFC City: NYC State: NY Address: 123 Madison Square Phone: 911 ฉันใช้ bash script และให้บอกว่าฉันต้องการค้นหาร้านอาหารตามชื่อจากไฟล์ด้านบน ถามผู้ใช้สำหรับป้อนชื่อร้านอาหารและควรพิมพ์ข้อมูลเกี่ยวกับร้านอาหารนั้น (5 บรรทัด) awk '/McDonalds/> /KFC/' example.txt …
14 scripts  awk 

3
แยกคำจากสตริงโดยใช้ grep / sed / awk
ฉันมีสาย 00:28:04 /usr/lib/jvm/jre/bin/java -DJDBC_CONNECTION_STRING= -Dspring.profiles.active=qa -XX:MaxPermSize=256 และต้องการแยกคำqaที่ตาม-Dspring.profiles.activeมา ฉันมีบันทึกสตริงในไฟล์ text.txt เพียงเพื่อสาธิตมัน เมื่อฉันทำ grep -r -o "spring.profiles.active=" text.txt ผลที่ได้คือ spring.profiles.active= คำนี้ไม่เคยเป็นqaมันอาจจะเป็นหรือproddev สิ่งที่ผมอยากจะทำคือการหาคำspring.profiles.activeและหลังจาก=สารสกัดจากว่าคำว่า ฉันต้องการเชลล์สคริปต์นี้เพราะฉันใช้คำเพื่อกำหนดค่ารายการอื่น ๆ บนเซิร์ฟเวอร์ เป็นไปได้และถ้าเป็นเช่นนั้นฉันจะทำอย่างไร
12 command-line  bash  grep  sed  awk 

6
grep เพื่อส่งคืนบรรทัด Nth และ Mth ก่อนและหลังการแข่งขัน
ฉันรู้ว่าด้วย grep ฉันสามารถใช้ฟิลด์-Aและ-Bดึงบรรทัดก่อนหน้าและถัดไปจากการแข่งขัน อย่างไรก็ตามพวกเขาดึงทุกบรรทัดระหว่างการแข่งขันโดยมีการระบุหลายบรรทัด grep -r -i -B 5 -A 5 "match" ผมอยากจะเพียง แต่ได้รับ 5 THสายก่อนการแข่งขันและ 5 THเส้นหลังการแข่งขันนอกเหนือไปจากเส้นตรงและไม่ได้รับสายระหว่าง มีวิธีการทำเช่นนี้กับgrep?
12 command-line  grep  awk 

6
จะลบโคลอนแรก ':' ออกจากเวลาได้อย่างไร
ฉันใหม่กับการเขียนโปรแกรม !! ทุกคนสามารถช่วยในการลบ:ที่ตำแหน่งแรกในการประทับเวลา::29.06.2019 23:03:17 ปัจจุบันฉันพยายามทำโดยใช้คำสั่ง awk / cut ดังที่แสดงด้านล่าง: TDS="$(grep 'Logfile started' process.log | awk '{print $3,$4}' | cut -d: -f2)" echo "$TDS" 29.06.2019 23 และผลลัพธ์ไม่ใช่สิ่งที่ฉันต้องการ! 29.06.2019 23:03:17ฉันต้องการพิมพ์เป็น

3
awk - วิธีการพิมพ์จำนวนตัวอักษรสำหรับบรรทัดแรกของ n บรรทัดในไฟล์?
ฉันมีคำสั่ง: $ awk '{ print length($0); }' /etc/passwd มันพิมพ์จำนวนตัวอักษรของทุกบรรทัดในไฟล์passwd : 52 52 61 48 81 58 etc. ฉันจะพิมพ์จำนวนอักขระสำหรับเฉพาะบรรทัดแรกได้อย่างไร ตัวอย่างเช่น - สำหรับ 3 บรรทัดแรกมันจะให้อะไรเช่น: 52 52 61

1
AWK: ทำไม $ (cat) ใช้งานได้กับ stdin แต่ $ * ไม่ได้
echo '((3+(2^3)) * 34^2 / 9)-75.89' | awk "BEGIN{ print $(cat) }" ไวยากรณ์ข้างต้นทำงานได้ดีกับผลลัพธ์ที่คำนวณ '1337' echo '((3+(2^3)) * 34^2 / 9)-75.89' | awk "BEGIN{ print $* }" แต่ไวยากรณ์ข้างต้นไม่ทำงานแม้ว่าจะไม่มีข้อผิดพลาด กรุณาให้คำแนะนำ
9 bash  awk 

2
ใช้ AWK เพื่อรับคอลัมน์ที่สอง
ฉันดูเหมือนจะไม่ได้รับคำสั่ง awk เพื่อรับคอลัมน์ที่สองของข้อมูล รหัสทุบตี: filter_data=$(awk "{if(/$filter:/) print $2}" < scanresults_temp.txt) printf "$filter_data \n" ตัวแปร $ filter เป็นค่าของ Download หรือ Upload ที่ถูกส่งเข้าสู่เชลล์สคริปต์ ดังนั้น awk ใช้คำว่า Download หรือ Upload เพื่อค้นหาแถวที่ถูกต้อง เนื้อหาของไฟล์คือ: Testing download speed................................................................................ Download: 51.13 Mbit/s Testing upload speed................................................................................................ Upload: 57.38 Mbit/s ฉันพยายามที่จะได้รับเพียงตัวเลขและไม่ได้อะไรอื่นอดีตและ51.1357.38
9 bash  grep  sed  awk 

2
รวมสองไฟล์ด้วย awk
File1.txt item1 carA item2 carB item3 carC item4 platD item5 carE File2.txt carA platA carB platB carC platC carE platE เอาท์พุทที่ต้องการ: item1 platA item2 platB item3 platC item4 platD item5 platE ฉันจะทำมันได้อย่างไร

2
ฉันจะแทนที่หลายบรรทัดด้วยคำเดียวในไฟล์ (แทนที่แทนที่) ได้อย่างไร
เนื้อหาของfilenameไฟล์ของฉันเป็นดังต่อไปนี้ (ตัวอย่าง): My block of line starts from here START First line second line third line END and end to here for example. ฉันต้องการที่จะแทนที่บล็อกเส้นระหว่างSTARTและมีเพียงคำเดียวเช่นกับEND SINGLEWORDชอบด้านล่าง: My block of line starts from here SINGLEWORD and end to here for example. ฉันสามารถหาบล็อกของบรรทัดด้วยการใช้คำสั่งนี้: grep -Pzo "START(.|\n)*END" filename และผลลัพธ์ของการรันคำสั่งด้านบนจะเป็นดังนี้: START First line second line …

5
รับเรขาคณิต H + W บนหน้าจอของฉันโดยไม่ต้องใช้เครื่องหมาย + x + y ในภายหลัง
ฉันกำลังอ่านข้อความนี้บทความ มีคำสั่งที่ไป: ffmpeg -f alsa -ac 2 -i hw:0,0 -f x11grab -s $(xwininfo -root | grep 'geometry' | awk '{print $2;}') -r 25 -i :0.0 -sameq -f mpeg -ar 48000 -s wvga -y sample.mp4 เมื่อฉันเรียกใช้คำสั่งฉันได้รับข้อผิดพลาดกับส่วนที่ระบุว่า: xwininfo -root | grep 'geometry' | awk '{print $2;}' เหตุผลก็คือเมื่อคุณใช้คำสั่งนี้ในคอมพิวเตอร์ของฉันมันจะแสดงผล: 1360x768+0+0 ฉันจะลบส่วนสุดท้ายของเอาต์พุตความละเอียดหน้าจอเป็น1360x768แทนที่จะเป็นได้1360x768+0+0อย่างไร

7
วิธีใช้ sort บนคำสั่ง awk print?
ฉันมีสองคำสั่งในสคริปต์ awk ที่ฉันเขียน: print "Here are some players and their numbers, sorted by last name" if(sum[x] > 500) {print x, $2} ผลลัพธ์ใด: Here are some players and their numbers, sorted by last name Lebron James 23 Kevin Durant 35 Kobe Bryant 24 Blake Griffin 32 Dikembe Mutumbo 55 ฉันจะใช้sortคำสั่งในสคริปต์ awk …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.