Awk1Liners

From My Admin Page
Jump to: navigation, search

Print column1, column5 and column7 of a data file or output of any columns list

awk '{print $1, $5, $7}' data_file
cat file_name |awk '{print $1 $5 $7}'
|ls -al |awk '{print $1, $5, $7}' -- Prints file_permissions,size and date

List all files names whose file size greater than zero.

ls -al |awk '$5 > 0 {print $9}'

List all files whose file size equal to 512bytes.

ls -al |awk '$5 == 0 {print $9}'

print all lines

awk '{print }' file_name
awk '{print 0}' file_name
  • Number of lines in a file
awk ' END {print NR}' file_name

Number of columns in each row of a file

awk '{print NF}' file_name

Sort the output of file and eliminate duplicate rows

awk '{print $1, $5, $7}' |sort -u

List all file names whose file size is greater than 512bytes and owner is -oracle-

ls -al |awk '$3 == "oracle" && $5 > 512 {print $9}'

List all file names whose owner could be either -oracle- or -root-

ls -al |awk '$3 == "oracle" || $3 == "root" {print $9}'

list all the files whose owner is not -oracle

ls -al |awk '$3 != "oracle" {print $9}'

List all lines which has at least one or more characters

awk 'NF > 0 {print }' file_name

List all lines longer that 50 characters

awk 'length($0) > 50 {print }' file_name

List first two columns

awk '{print $1, $2}' file_name

Swap first two columns of a file and print

awk '{temp = $1; $1 = $2; $2 = temp; print }' file_name

Replace first column as -ORACLE- in a data file

awk '{$1 = "ORACLE"; print }' data_file

Remove first column values in a data file

awk '{$1 =""; print }' data_file

Calculate total size of a directory in Mb

ls -al |awk '{total +=$5};END {print "Total size: " total/1024/1024 " Mb"}'

Calculate total size of a directory including sub directories in Mb

ls -lR |awk '{total +=$5};END {print "Total size: " total/1024/1024 " Mb"}'

Find largest file in a directory including sub directories

ls -lR |awk '{print $5 "\t" $9}' |sort -n |tail -1