Gawk usage: Difference between revisions
From wikinotes
(→Stdin) |
|||
Line 3: | Line 3: | ||
= Stdin = | = Stdin = | ||
<blockquote> | <blockquote> | ||
by default, each space-separated item on stdin is an argument.<br> | |||
you can use this to quickly extract space separated lines. | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
echo 'aa bb cc' | awk '{print $2}' # bb | echo 'aa bb cc' | awk '{print $2}' # bb | ||
</syntaxhighlight> | |||
you can also choose the token used to split the string | |||
<syntaxhighlight lang="bash"> | |||
echo 'aa|bb|cc' | awk -F'|' '{print $2}' # bb | |||
</syntaxhighlight> | </syntaxhighlight> | ||
</blockquote><!-- Stdin --> | </blockquote><!-- Stdin --> |
Revision as of 01:09, 19 July 2021
Awk is a versatile glue language, and it can be used in a few ways.
Stdin
by default, each space-separated item on stdin is an argument.
you can use this to quickly extract space separated lines.echo 'aa bb cc' | awk '{print $2}' # bbyou can also choose the token used to split the string
echo 'aa|bb|cc' | awk -F'|' '{print $2}' # bb
Commands
awk is useful on it's own, for it's ability to do floating point math in bash.
awk 'BEGIN {print 1.5 / 2}' # 0.75
Scripting
run an awk file from interpreter
awk -f file.awk [arg..] # run awk scriptOr use a shebang to indicate script runs in awk
#!/usr/bin/env awk -f # foo.awkand run it directly
./foo.awk