Awk: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
$ awk '{print $2}' /etc/fstab | $ awk '{print $2}' /etc/fstab | ||
to filter out comment lines - starting with # | to filter out comment lines - starting with # | ||
$ awk '/^[^#]/ {print $2}' /etc/fstab | $ awk '/^[^#]/ {print $2}' /etc/fstab | ||
print first field from password file using field seperator ':' | print first field from password file using field seperator ':' | ||
$ awk -F: '{print$1}' /etc/passwd | $ awk -F: '{print$1}' /etc/passwd | ||
print only user ID > 500 | print only user ID > 500 | ||
$ awk -F: '$3>=500 {print$1}' /etc/passwd | $ awk -F: '$3>=500 {print$1}' /etc/passwd | ||
display average of numbers entereed on a line: | display average of numbers entereed on a line: | ||
$ awk '{ sum=0; for (i=1; i<=NF; i++) sum +=$i; print sum/NF; }' | $ awk '{ sum=0; for (i=1; i<=NF; i++) sum +=$i; print sum/NF; }' | ||
{| | {| |
Revision as of 16:05, 9 October 2014
awk
pattern {action} pattern {action}
$ awk '{print $2}' /etc/fstab
to filter out comment lines - starting with #
$ awk '/^[^#]/ {print $2}' /etc/fstab
print first field from password file using field seperator ':'
$ awk -F: '{print$1}' /etc/passwd
print only user ID > 500
$ awk -F: '$3>=500 {print$1}' /etc/passwd
display average of numbers entereed on a line:
$ awk '{ sum=0; for (i=1; i<=NF; i++) sum +=$i; print sum/NF; }'
NF | number of fields in the current line |
NR | the current record number (line number) |
FS | input field seperator (space by default) |
RS | record seperator (newline by default) |
Example | Example |
Example | Example |
Example | Example |
Example | Example |
Example | Example |