আমার কাছে একটি অর্ড স্ক্রিপ্ট রয়েছে এবং আমি এটিতে একটি সিএসভি ফাইল পাস করেছি।
awk -f script.awk /home/abc/imp/asgd.csv
আমি যা করছি তা হ'ল ফাইল ফাইলের মধ্যে script.awk
। FILENAME আমাকে পুরো পথ দেয়। আমি যেমন অবাক হয়েছি আমি ব্যবহার করতে পারি না basename FILENAME
।
print FILENAME;
/home/abc/imp/asgd.csv
আমি এর মধ্যে দিয়ে চেষ্টা করেছি script.awk
echo $FILENAME | awk -F"/" '{print $NF}'
তবে আমি এর মধ্যেই এটি কার্যকর করতে পারি না script.awk
। আমি কীভাবে asgd.csv
কোনও অর্ক প্রোগ্রামের মধ্যে পেতে পারি ?
n = split(FILENAME, a, "/"); basename=a[n];
। এটি ব্যবহার করবেন নাsub
যা আসলেFILENAME
ভেরিয়েবল পরিবর্তন করবে (যা ফাংশনটির সাথে একটি নন-ইস্যু, যেহেতু অ্যাডাব্লু মান দ্বারা কল ব্যবহার করে)।