Skip to main content

AWK : Printing columns


In awk each column can be represented by $n , where n can be any number 0,1,2,3 etc.We must specify the delimited of the fields in the command. By default a space or any amount of consecutive spaces is considered as delimiter.

1. To print the column 1 and 4 of the below data in awk

> cat sample.txt 

Tom 1990 IT 98
Joseph 1988 Mechanical 80
Mary 1991 Electronics 95

> awk '{print $1, $4 } ' sample.txt

Tom 98
Joseph 80
Mary 95

2. To print the entire column of the text 

> awk 'print{$0}' sample.txt

Tom 1990 IT 98
Joseph 1988 Mechanical 80
Mary 1991 Electronics 95

3. To print add a text along with column values - 

In the below example we are going to add text "Name:" in front of column 1 , and "Marks:" before column 4.

> awk '{print "Name:"$1," Marks:"$4}' sample.txt

Name:Tom  Marks:98
Name:Joseph  Marks:80
Name:Mary  Marks:95

4. To print the number of words in each line we can use NF parameter .Here each line has four fields.

> awk '{print $0",",NF}' sample.txt

Tom 1990 IT 98, 4
Joseph 1988 Mechanical 80, 4
Mary 1991 Electronics 95, 4

5. If the file is having a different delimiter , say comma(,) , then we have to specify that in awk command to separate the column.

> cat sample2.txt

Tom,1990,IT,98
Joseph,1988,Mechanical,80
Mary,1991,Electronics,95

> awk -F"," '{print $1,$4}' sample2.txt

Tom 98
Joseph 80
Mary 95


Comments

Popular posts from this blog

C programing : File

/* Program to take lines 1,4,7,10.... from a text file and to write into a new file. It is written in c with platform devcpp*/ /* eg:- input file -> ab.txt contain 1 lady gaga sdrgrg ergerg 2 oraph winfrey dfgdr dfgdf . output file neww.txt 1 lady gaga 2 oraph winfrey . . */ #include #include #include using namespace std; main() { char c; FILE *fp1,*fp2; if(fp1=fopen("e:\\ab.txt","r")) { cout<<"\n opened fp1"; } else { cout<<"\n failed fp1"; } if( fp2=fopen("e:\\neww.txt","w") ) { cout<<"\n opened fp2"; } else { cout<<"\n failed fp2"; } while(!feof(fp1)) { c=getc(fp1); while(c!='\n') { putc(c,fp2); c=getc(fp1); } putc('\n',fp2); c=getc(fp1); while(c!='\n') { c=getc(fp1); } c=getc(fp1); while(c!='\n') { c=getc(fp1); } } cout<<"\n End"; getch(); return 0; }

OpenCV installation with Visual Studio 2010

Hi all.I will show you how to install OpenCV library in windows with Visual Studio 2010 to use with Visual C++ Here I am show to install OpenCV Ver 2.2. 1. Download the OpenCV from source forge     The link is : http://sourceforge.net/projects/opencvlibrary/files/opencv-win/ 2. Install the OpenCV to any drive.I have installed as C:\OpenCV2.2 3. Next open Visual Studio 2010.Select New>Project 4. Select Win32 Console Application from Visual C++ popup. 5. Give the project a name and press OK . I gave as 'helloworld' 6. Click Finish to continue.You can see a new file has opened where you can type your code. 7. Next select Project> <your project name> Properties . 8. Go to VC++ Directories and select Include Directories.There add the two links to that     a) C:\OpenCV2.2\include     b) C:\OpenCV2.2\include\opencv 9. Next Go to Library Directories and add the following link     a) C:\OpenCV2.2\lib 10. Now Go to Linker option from the left

Install sublime editor

Hi. Sublime editor is a light weight editor and very helpful for developers to write code.It will highlight the code in colors for easy readability. Sublime editor 3 is the latest one available as of now . The below link shows how to install sublime editor in CentOS . http://software-engineer.gatsbylee.com/how-to-install-sublime-3-on-centos-7-rhel-7/ To know about you system OS is 32 bit or 64 bit , use the below command. >uname -a