ฉันมีสคริปต์ 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 ใช้โทรตามค่า)