In awk, /.../ is (sort of) a regex constant. man awk:
Quote:
3. Regular expressions
In the AWK language, records, fields and strings are often tested for matching a regular expression. Regular expressions are enclosed in slashes, and
expr ~ /r/
is an AWK expression that evaluates to 1 if expr "matches" r, which means a substring of expr is in the set of strings defined by r. With no match the expression evaluates to 0; replacing ~ with the "not match" operator, !~ , reverses the meaning. As pattern-action pairs,
/r/ { action } and $0 ~ /r/ { action }
are the same, and for each input record that matches r, action is executed. In fact, /r/ is an AWK expression that is equivalent to ($0 ~ /r/) anywhere except ...
So, your expression /$4 ~ "101"/ will try to match exactly this string : $4 ~ "101" - which it won't find in your sample file.
Try
which might do exactly what you targeted for.
I recently started as an intern and my manager wanted to see how well I would handle Korn Bourne shell scripting without any prior experience, I have prior programming experience but I keep running into syntax errors with AWK. Please take a look at my simple code and tell me what stupid mistake... (6 Replies)
I have written many awk commands which go in multiple lines.
I have this confusion many times.
Some time they work if i dont terminate them with "\" but some time error.
Some time in "if" statements between if and else if i dont use ";" it gives error but sometimes it doesnt.
The below... (4 Replies)
I don't get correct output when I run this command line:
nmap -sP failedhost.com | grep -i failed | awk -F '{print $6}'
I basically want it to return 'failedhost.com' but its just showing the output of the nmap scan. (8 Replies)
Hi I am trying to understand AWK syntax
so I tried this command which gives me the home directory of root
awk 'BEGIN { FS = ":"} {if ($1 == "root") print $6 }' /etc/passwd
I would know what are the following commands doing. The first one prints all /etc/passwd, second prints nothing.
... (4 Replies)
Little bit confusing while using awk :confused::confused:
In Sed while pattern search we can use "(double quotes)
i mean
$a=hello
$cat file.txt |sed -n "/$a/p"this thing work fine But if i use it in awk it's not working How could i do the substitution of pattern by a variables and the... (1 Reply)
i have a ksh code that needs to be written in AWK. can someone please help me here? :(
if }" | grep -c "$2") -gt 0 ] ; then
print - "found $2 in array ignore"
else
print - "did not find $2 in array ignore"
fi
ignore=4ty56r
ignore=er45ty
.
.
.
ignore=frhtg2 (27 Replies)
I have a file which is comma separated and has quotes. I can use this command and
awk -F"," '{ if ($4=="01" print $0 }' test.txt
But this doesn't fetch me the data.since it has quotes.
If the data has no quotes,the above command works fine.
In Unix you can skip quote \" but this doesn't work.... (7 Replies)
Hi I have a bash file which will split a big file to many small files.
But I got a syntax error.H="$(head -1 CCC.tped)"
awk 'print $0 > $1 ".tped"' CCC.tped
for f in $(ls *.tped); do echo "$H\n" "$(cat $f)" >$f; done
And
-bash-4.1$ bash split
awk: print $0 > $1".tped"
awk: ^ syntax error... (3 Replies)
Hello Experts:
While writing a script to help one of the posts on here, I end up writing a wrong one. I am very much eager to know how this can be corrected.
Aim was to not print specified columns - lets say out of 100 fields, need to print all but 5th, 10th, 15th columns.
Someone already... (13 Replies)