I have a text file which I want to filter
using awk. The text file looks like this:
foo 1
bar 2
bar 0.3
bar 100
qux 1033
I want to filter those files with awk inside a bash script.
#!/bin/bash
#input file
input=myfile.txt
# I need to pass this as parameter
# cos later I want to make it more general like
# coltype=$1
col1type="foo"
#Filters
awk '$2>0 && $1==$col1type' $input
But somehow it failed. What’s the right way to do it?
You need double quotes to allow variable interpolation, which means you then need to escape the other dollar signs with backslashes so
$1and$2are not interpolated. Also you need double quotes around"$col1type".