Reputation: 1817
I'm new to scripting and need a lot of help understanding how to load in a text file that will be passed in by a parameter. I'm afraid that you'll have to really dumb down your answers. Please explain like I am a 10 year old!
For example, how does one write a script that accepts two parameters, a file path and an integer.
Also how do you run the script? would you just call script.sh -f data.txt
Upvotes: 0
Views: 245
Reputation: 360085
This page of the GNU AWK (gawk
) manual describes how to process options as getopt
would.
Include the function shown on that page in your script.
Upvotes: 0
Reputation: 3246
Could you explain your requirement a bit in detail?
I assume you are looking to extract the Nth column from a given file. You don't need to parse command-line parameters within AWK, instead just pass them from sh(1)
itself.
# foo.sh
awk "{ print $"$1" }" $2
Here I'm escaping out of AWK to get the first argument which is the position number.
If you find that too confusing you can manipulate ARGC
, ARGV
. Read awk(1)
.
Hope that helps.
Upvotes: 1
Reputation: 7153
You can do this by manipulating ARGC
and ARGV
to extract your integer from the argument list in the BEGIN
block. You can put your script in a text file with the first line being #!/usr/bin/awk -f
and then make the file executable with chmod a+x
.
Upvotes: 0