[root@machine2 test]# awk '1;{print ""}' testdoc
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
-rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
[root@machine2 test]# awk 'BEGIN{ORS="\n\n"}' testdoc
ORS- output row separator
[root@machine2 test]# awk 'BEGIN{ORS="\n\n"};1' testdoc
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
-rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
[root@machine2 test]# awk 'NF{print $0 "\n"}' testdoc
triple space a file
[root@machine2 test]# awk '1;{print "\n"}' testdoc
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
Print each line with its line number using thebelow syntax
[root@machine2 test]# awk '{print NR "\t" $0}' testdoc
1 total 4.0K
2 -rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
3 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
4 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
5 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
6 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
7 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
8 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
9 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
10 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
11 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
12 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
13 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
14 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
15 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
16 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
17 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
18 -rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
[root@machine2 test]# awk '{print FNR "\t" $0}' testdoc
1 total 4.0K
2 -rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
3 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
4 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
5 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
6 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
7 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
8 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
9 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
10 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
11 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
12 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
13 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
14 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
15 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
16 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
17 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
18 -rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
[root@machine2 test]# awk '{printf("%5d : %s\n", NR,$0)}' testdoc
1 : total 4.0K
2 : -rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
3 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
4 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
5 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
6 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
7 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
8 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
9 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
10 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
11 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
12 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
13 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
14 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
15 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
16 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
17 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
18 : -rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
Left align and right align using the above syntax
[root@machine2 test]# awk '{ total = total + NF }; END {print total}' testdoc
155
print the total number of fields ("words") in all lines
[root@machine2 test]# awk '{print $NF}' testdoc
4.0K
for.sh
testing1
testing2
testing4
testing3
testing6
testing5
testing8
testing7
testing9
testing10
testing12
testing11
testing13
testing14
testing15
testdoc
Prints the last filed in every line with above syntax
[root@machine2 test]# awk '{print NF ":" $0 }' testdoc
2:total 4.0K
9:-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
9:-rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
Prints number of fields followed by a character in each line.
[root@machine2 test]# awk '{test=$NF}; END{print test }' testdoc
testdoc
[root@machine2 test]# awk 'END{print $NF}' testdoc
testdoc
Find the last field of the last line using the above syntaxes
[root@machine2 test]# awk 'NF > 3' testdoc
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
-rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
Prints number of fields larger than 3
[root@machine2 test]# awk 'NF < 3' testdoc
total 4.0K
Prints number of fields less than 3
[root@machine2 test]# awk 'NR < 4' testdoc
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
[root@machine2 test]# awk 'NR <=4' testdoc
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
Prints number of rows less than 4 and equal to 4 using above syntax.
[root@machine2 test]# awk '/total/' testdoc
total 4.0K
search for a pattern using above syntax.
[root@machine2 test]# awk '!/total/' testdoc
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
-rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
Prints other than the searching pattern using above syntax.
[root@machine2 test]# awk '/total/; /for/' testdoc
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
search multiple pattern using above syntax.
[root@machine2 test]# awk 'length> 48' testdoc
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
print only line above 48 characters through above syntax.
[root@machine2 test]# awk 'length< 15' testdoc
total 4.0K
prints less than 15 characters
[root@machine2 test]# awk 'NR==8,NR==12' testdoc
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
Prints specific rows from 8 to 12 with the above syntaxes
[root@machine2 test]# awk 'NR==12' testdoc
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
prints specific line.
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
-rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
[root@machine2 test]# awk 'BEGIN{ORS="\n\n"}' testdoc
ORS- output row separator
[root@machine2 test]# awk 'BEGIN{ORS="\n\n"};1' testdoc
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
-rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
[root@machine2 test]# awk 'NF{print $0 "\n"}' testdoc
triple space a file
[root@machine2 test]# awk '1;{print "\n"}' testdoc
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
Print each line with its line number using thebelow syntax
[root@machine2 test]# awk '{print NR "\t" $0}' testdoc
1 total 4.0K
2 -rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
3 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
4 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
5 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
6 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
7 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
8 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
9 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
10 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
11 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
12 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
13 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
14 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
15 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
16 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
17 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
18 -rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
[root@machine2 test]# awk '{print FNR "\t" $0}' testdoc
1 total 4.0K
2 -rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
3 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
4 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
5 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
6 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
7 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
8 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
9 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
10 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
11 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
12 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
13 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
14 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
15 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
16 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
17 -rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
18 -rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
[root@machine2 test]# awk '{printf("%5d : %s\n", NR,$0)}' testdoc
1 : total 4.0K
2 : -rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
3 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
4 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
5 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
6 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
7 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
8 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
9 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
10 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
11 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
12 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
13 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
14 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
15 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
16 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
17 : -rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
18 : -rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
Left align and right align using the above syntax
[root@machine2 test]# awk '{ total = total + NF }; END {print total}' testdoc
155
print the total number of fields ("words") in all lines
[root@machine2 test]# awk '{print $NF}' testdoc
4.0K
for.sh
testing1
testing2
testing4
testing3
testing6
testing5
testing8
testing7
testing9
testing10
testing12
testing11
testing13
testing14
testing15
testdoc
Prints the last filed in every line with above syntax
[root@machine2 test]# awk '{print NF ":" $0 }' testdoc
2:total 4.0K
9:-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
9:-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
9:-rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
Prints number of fields followed by a character in each line.
[root@machine2 test]# awk '{test=$NF}; END{print test }' testdoc
testdoc
[root@machine2 test]# awk 'END{print $NF}' testdoc
testdoc
Find the last field of the last line using the above syntaxes
[root@machine2 test]# awk 'NF > 3' testdoc
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
-rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
Prints number of fields larger than 3
[root@machine2 test]# awk 'NF < 3' testdoc
total 4.0K
Prints number of fields less than 3
[root@machine2 test]# awk 'NR < 4' testdoc
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
[root@machine2 test]# awk 'NR <=4' testdoc
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
Prints number of rows less than 4 and equal to 4 using above syntax.
[root@machine2 test]# awk '/total/' testdoc
total 4.0K
search for a pattern using above syntax.
[root@machine2 test]# awk '!/total/' testdoc
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing1
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing2
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing4
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing3
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing6
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
-rw-r--r-- 1 root root 0 Jun 9 17:46 testdoc
Prints other than the searching pattern using above syntax.
[root@machine2 test]# awk '/total/; /for/' testdoc
total 4.0K
-rw-r--r-- 1 root root 166 Jan 25 18:53 for.sh
search multiple pattern using above syntax.
[root@machine2 test]# awk 'length> 48' testdoc
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing12
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing11
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing13
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing14
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing15
print only line above 48 characters through above syntax.
[root@machine2 test]# awk 'length< 15' testdoc
total 4.0K
prints less than 15 characters
[root@machine2 test]# awk 'NR==8,NR==12' testdoc
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing5
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing8
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing7
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing9
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
Prints specific rows from 8 to 12 with the above syntaxes
[root@machine2 test]# awk 'NR==12' testdoc
-rw-r--r-- 1 root root 0 Jun 9 17:43 testing10
prints specific line.
No comments:
Post a Comment