ฉันมีสคริปต์ awk และฉันได้ส่งไฟล์ CSV ไปยังมัน
awk -f script.awk /home/abc/imp/asgd.csv
สิ่งที่ฉันทำคือการได้รับ FILENAME script.awk
ภายใน FILENAME ให้เส้นทางทั้งหมดแก่ฉัน ในฐานะที่ผมอยู่ใน awk basename FILENAME
ฉันไม่สามารถใช้
print FILENAME;
/home/abc/imp/asgd.csv
ฉันได้ลองกับสิ่งนี้แล้ว script.awk
echo $FILENAME | awk -F"/" '{print $NF}'
script.awk
แต่ฉันไม่สามารถดำเนินการนี้ภายใน ฉันจะเข้าasgd.csv
สู่โปรแกรม awk ได้อย่างไร
n = split(FILENAME, a, "/"); basename=a[n];
ที่มีอยู่โดยไม่ต้องแนะนำฟังก์ชั่นที่คุณควรใช้: อย่าใช้sub
ตามที่จะเปลี่ยนFILENAME
ตัวแปรจริง(ซึ่งไม่ใช่ปัญหากับฟังก์ชั่นเนื่องจาก awk ใช้โทรตามค่า)