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)
Discussion started by: juzz4fun
13 Replies
LEARN ABOUT PLAN9
regexp
REGEXP(6) Games Manual REGEXP(6)NAME
regexp - regular expression notation
DESCRIPTION
A regular expression specifies a set of strings of characters. A member of this set of strings is said to be matched by the regular
expression. In many applications a delimiter character, commonly bounds a regular expression. In the following specification for regular
expressions the word `character' means any character (rune) but newline.
The syntax for a regular expression e0 is
e3: literal | charclass | '.' | '^' | '$' | '(' e0 ')'
e2: e3
| e2 REP
REP: '*' | '+' | '?'
e1: e2
| e1 e2
e0: e1
| e0 '|' e1
A literal is any non-metacharacter, or a metacharacter (one of .*+?[]()|^$), or the delimiter preceded by
A charclass is a nonempty string s bracketed [s] (or [^s]); it matches any character in (or not in) s. A negated character class never
matches newline. A substring a-b, with a and b in ascending order, stands for the inclusive range of characters between a and b. In s,
the metacharacters an initial and the regular expression delimiter must be preceded by a other metacharacters have no special meaning and
may appear unescaped.
A matches any character.
A matches the beginning of a line; matches the end of the line.
The REP operators match zero or more (*), one or more (+), zero or one (?), instances respectively of the preceding regular expression e2.
A concatenated regular expression, e1e2, matches a match to e1 followed by a match to e2.
An alternative regular expression, e0|e1, matches either a match to e0 or a match to e1.
A match to any part of a regular expression extends as far as possible without preventing a match to the remainder of the regular expres-
sion.
SEE ALSO awk(1), ed(1), sam(1), sed(1), regexp(2)REGEXP(6)