Tôi có một tập lệnh awk và tôi đã chuyển một tập tin CSV cho nó.
awk -f script.awk /home/abc/imp/asgd.csv
Tôi đang làm gì để có được FILENAME trong script.awk. FILENAME cho tôi toàn bộ con đường. Khi tôi ở awk tôi không thể sử dụng basename FILENAME.
print FILENAME;
/home/abc/imp/asgd.csv
Tôi đã thử với điều này trong script.awk
echo $FILENAME | awk -F"/" '{print $NF}'
nhưng tôi không thể thực hiện điều này trong vòng script.awk. Làm thế nào tôi có thể nhận được asgd.csvtrong một chương trình awk?
n = split(FILENAME, a, "/"); basename=a[n];. Đừng sử dụngsubvì điều đó thực sự sẽ thay đổiFILENAMEbiến số (đây không phải là vấn đề với hàm vì awk sử dụng lệnh gọi theo giá trị).