Difference between revisions of "Aho Weinberger Kernighan"
(Created page with "= awk = is a full scripting language, as well as a complete text manipulation toolkit for the command line.</br> == Use == <code>who | awk '{print $1}'</code> print the first field of every line from the who command</br> <code>who | awk '{print $1,$4}'</code> print the first and fourth field of every line from the who command</br> <code>who | awk '{print $NF}'</code> print the last field (NF=Number of Fields) of every line from the who command</br> </br> <code>date | a...") |
|||
| Line 8: | Line 8: | ||
<code>who | awk '{print $NF}'</code> print the last field (NF=Number of Fields) of every line from the who command</br> | <code>who | awk '{print $NF}'</code> print the last field (NF=Number of Fields) of every line from the who command</br> | ||
</br> | </br> | ||
<code>date | awk 'OFS="-" {print$2,$3,$6}'</code> print the date fields 2, 3 and 6 using the OFS (Output Field Seperator) '-' | <code>date | awk 'OFS="-" {print$2,$3,$6}'</code> print the date fields 2, 3 and 6 using the OFS (Output Field Seperator) '-'</br> | ||
<code>date | awk 'OFS="/" {print$2,$3,$6}'</code> print the date fields 2, 3 and 6 using the OFS (Output Field Seperator) '/' | <code>date | awk 'OFS="/" {print$2,$3,$6}'</code> print the date fields 2, 3 and 6 using the OFS (Output Field Seperator) '/'</br> | ||
</br> | </br> | ||
<code> awk 'BEGIN {print "yoloooo"} {print $0} END {print "swaaag"}' test.sh</code> 'BEGIN' prints "yoloooo" before any text processing, 'END' prints "swaaag" after text processing | <code> awk 'BEGIN {print "yoloooo"} {print $0} END {print "swaaag"}' test.sh</code> 'BEGIN' prints "yoloooo" before any text processing, 'END' prints "swaaag" after text processing</br> | ||
</br> | </br> | ||
<code>awk -F: '$3 >= 1000 {print $1,$6}' /etc/passwd</code> print field 1 and 6 from /etc/passwd where field 3 is greater than 1000 | <code>awk -F: '$3 >= 1000 {print $1,$6}' /etc/passwd</code> print field 1 and 6 from /etc/passwd where field 3 is greater than 1000</br> | ||
== Useful Flags == | == Useful Flags == | ||
<code>-F:</code> define field delimiter as ':'</br> | <code>-F:</code> define field delimiter as ':'</br> | ||
Revision as of 13:42, 21 August 2023
awk
is a full scripting language, as well as a complete text manipulation toolkit for the command line.
Use
who | awk '{print $1}' print the first field of every line from the who command
who | awk '{print $1,$4}' print the first and fourth field of every line from the who command
who | awk '{print $NF}' print the last field (NF=Number of Fields) of every line from the who command
date | awk 'OFS="-" {print$2,$3,$6}' print the date fields 2, 3 and 6 using the OFS (Output Field Seperator) '-'
date | awk 'OFS="/" {print$2,$3,$6}' print the date fields 2, 3 and 6 using the OFS (Output Field Seperator) '/'
awk 'BEGIN {print "yoloooo"} {print $0} END {print "swaaag"}' test.sh 'BEGIN' prints "yoloooo" before any text processing, 'END' prints "swaaag" after text processing
awk -F: '$3 >= 1000 {print $1,$6}' /etc/passwd print field 1 and 6 from /etc/passwd where field 3 is greater than 1000
Useful Flags
-F: define field delimiter as ':'