Ich habe ein awk-Skript und habe eine CSV-Datei an dieses übergeben.
awk -f script.awk /home/abc/imp/asgd.csv
Was ich tue, ist, FILENAME innerhalb zu erhalten script.awk
. FILENAME gibt mir den ganzen Weg. Da ich in awk bin, kann ich nicht verwenden basename FILENAME
.
print FILENAME;
/home/abc/imp/asgd.csv
Ich habe es innerhalb versucht script.awk
echo $FILENAME | awk -F"/" '{print $NF}'
aber ich kann das nicht innerhalb ausführen script.awk
. Wie komme ich asgd.csv
in ein awk-Programm?
n = split(FILENAME, a, "/"); basename=a[n];
. Nicht verwenden,sub
da dies dieFILENAME
Variable tatsächlich ändert (was für die Funktion kein Problem darstellt, da awk call by value verwendet).