Is there a way to put little awk
scriptoids on the path?
For example, I have this really useful collation operation:
// collate-csv.awk
FNR > 1 || NR == 1
And I can use it in all sorts of great ways:
xargs -a $(find * -name *.csv) awk -F',' -f collate-csv.awk | ...
The only problem is I don't have a way to call my awk tools from anywhere. With an executable shell script, I can drop it into a bin folder on the path. Is there a mechanism in linux where I can make these non-executable awk
source files available from anywhere I go in the filesystem?
(with the qualification that the "mechanism" is not a "why don't you just hit it with a hammer"-style kludge)
Best Answer
In addition to @Roamia's answer you can use
AWKPATH
variable for a list of directory where to look forcollate-csv.awk
please note
.awk
extension is not mandatory, just be consistent,#!/usr/bin/awk -f
is mandatory when script is used standalone as a script (noawk -f
call),awk -f
(and awk know how to useAWKPATH
, bash don't)