Input file rhel5 contains the following information and there column is separate by the comma, using awk command we separate these single field into three column
linux,23.4,y
ubuntu,52.6,n
kubuntu,24.5,y
fedora,18.9,n
[bash@localhost ~]# awk '{printf "%-15s%-8s%s\n",$1,$2,$3}' FS=\, rhel5
linux----------23.4----------- y
ubuntu--------52.6---------- n
kubuntu-------24.5---------- y
fedora 18.9 n
Fs is single variable character it will will be maintain the space between the two column.if you leave it then it will not separate the field.
[bash@localhost ~]# awk '{printf "%-15s%-8s%s\n",$1,$2,$3}' rhel5
linux,23.4,y
ubuntu,52.6,n
kubuntu,24.5,y
fedora,18.9,n
we perform the same operation in to the different format. In these case NF refers to the number of the field in current record.
[bash@localhost ~]# awk '{ for(i=1;i<=NF;i++) printf("%-15s%c",$i,(i==NF)? ORS : " ")}' FS=, rhel5
linux 23.4 y
ubuntu 52.6 n
[bash@localhost ~]# awk '{ for(i=1;i<=NF;i++) printf("%-15s%c",$i,(i==NF)? ORS : " ")}' rhel5
Don’t Miss Fs if miss it not maintain space between the Word
linux,23.4,y
ubuntu,52.6,n
linux,23.4,y
ubuntu,52.6,n
kubuntu,24.5,y
fedora,18.9,n
[bash@localhost ~]# awk '{printf "%-15s%-8s%s\n",$1,$2,$3}' FS=\, rhel5
linux----------23.4----------- y
ubuntu--------52.6---------- n
kubuntu-------24.5---------- y
fedora 18.9 n
Fs is single variable character it will will be maintain the space between the two column.if you leave it then it will not separate the field.
[bash@localhost ~]# awk '{printf "%-15s%-8s%s\n",$1,$2,$3}' rhel5
linux,23.4,y
ubuntu,52.6,n
kubuntu,24.5,y
fedora,18.9,n
we perform the same operation in to the different format. In these case NF refers to the number of the field in current record.
[bash@localhost ~]# awk '{ for(i=1;i<=NF;i++) printf("%-15s%c",$i,(i==NF)? ORS : " ")}' FS=, rhel5
linux 23.4 y
ubuntu 52.6 n
[bash@localhost ~]# awk '{ for(i=1;i<=NF;i++) printf("%-15s%c",$i,(i==NF)? ORS : " ")}' rhel5
Don’t Miss Fs if miss it not maintain space between the Word
linux,23.4,y
ubuntu,52.6,n
0 Comments