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

อาร์เรย์เป็นโครงสร้างข้อมูลที่ง่ายที่สุดสำหรับการจัดเก็บรายการในหน่วยความจำอย่างต่อเนื่อง

2
ในการวนซ้ำอาร์เรย์ให้เพิ่มองค์ประกอบลงในอาร์เรย์
ฉันมีปัญหากับการวนซ้ำในทุบตี ตัวอย่าง: ("etc" "bin" "var")ฉันมีอาร์เรย์ และฉันทำซ้ำในอาร์เรย์นี้ แต่ในลูปฉันต้องการผนวกค่าลงในอาร์เรย์ เช่น array=("etc" "bin" "var") for i in "${array[@]}" do echo $i done นี้จะแสดงetc bin var(แน่นอนในบรรทัดที่แยกต่างหาก) และถ้าฉันผนวกหลังจากdoนั้น: array=("etc" "bin" "var") for i in "${array[@]}" do array+=("sbin") echo $i done ฉันต้องการ: etc bin var sbin(แน่นอนในบรรทัดที่แยกต่างหาก) สิ่งนี้ไม่ทำงาน ฉันจะทำมันได้อย่างไร
9 bash  array  for 

4
ผ่านหลายไดเรกทอรีไปยังตัวเลือก -prune ในการค้นหา
ฉันใช้findเพื่อค้นหาและลบไฟล์สำรองข้อมูล แต่ต้องการแยกไดเรกทอรีบางอย่างออกจากการค้นหา ชื่อไฟล์สำรองข้อมูลอาจยุติใน.bck, bak, หรือ~backup โค้ดตัวอย่างการทำงานขั้นต่ำ (MWE) ที่มีเพียงสามไดเรกทอรีที่ต้องแยกคือ: #! /bin/bash find . -type d \( -path "./.*" -o -path "./Music" -o -path "./Documents" \) -prune -o -type f \( -name "*.bck" -o -name "*.bak" -o -name "*~" -o -name "*.backup" \) -print0 | xargs -0 --no-run-if-empty trash-put \( -path "dir1" …

2
Gawk: ผ่านอาร์เรย์ไปยังฟังก์ชั่น
ติดอยู่กับ GNU awk 3.1.6 และคิดว่าฉันได้แก้ไขข้อบกพร่องของอาเรย์แล้ว แต่ยังมีสิ่งที่ดูเหมือนปัญหาขอบเขตในโปรแกรม 600 บรรทัด awk จำเป็นต้องตรวจสอบความเข้าใจของขอบเขตอาร์เรย์ใน awk เพื่อค้นหาข้อผิดพลาดของฉัน รับรหัส awk นี้เป็นตัวอย่าง ... function foo(ga) { ga[1] = "global result" } garray[1] = "global" foo(garray) print garray[1] จะพิมพ์ ... global result เนื่องจากอาร์เรย์จะถูกส่งผ่านไปยังฟังก์ชันโดยอ้างอิงเสมอดังนั้นอาร์เรย์ทั้งหมดจึงเป็นแบบโกลบอลเสมอ ไม่มีวิธีสร้างอาร์เรย์โลคัล ถูกต้องหรือไม่ ไม่พบเอกสารที่พูดอย่างชัดเจนว่า เนื่องจากฉันทำการดีบั๊กและตัว 3.1.6 รู้จักข้อบกพร่องในพื้นที่นี้ฉันกำลังพยายามหาจุดบกพร่องของ awk และจุดเริ่มต้นของฉัน เพิ่มเติม: เพราะเหตุใด ga [] จึงทำงานภายในฟังก์ชันได้ ก่อนอื่นเลยการส่งอาร์เรย์ไปยังฟังก์ชันด้วยfoo(ga)นั้นไม่จำเป็นจริง ๆ …
9 awk  function  array 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.