Awk1Liners
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