Solved

How to write this shell script

Posted on 2009-04-03
2
198 Views
Last Modified: 2013-12-26
Hi experts,

I have many files in following format

22  cpv 88  99  cpithisis
33  cpi 90  22  hecpvto
11  cpi ee  pp  timecpi
10  cpv 3e  79  shecpvcomes


The 2nd column is either "cpv" or "cpi". Each line has 5 columns and columns are "\t" seperated. Now I want to use shell script to split those lines of "cpv" to one file and "cpi" to another file.

I use following script but it is not correct. Can anybody help me to correct it?

Thanks so much.

cat *cpv_cpi*.txt | awk '{if ($2=="cpv") print $0}' | gzip > aa.txt

Open in new window

0
Comment
Question by:davidw88
2 Comments
 
LVL 10

Accepted Solution

by:
cyberstalker earned 125 total points
ID: 24060926
The command you posted should work to put all the lines with cpv as second argument in a zipped file.


# put all lines with cpv in a gzipped file called aa.txt.gz and cpi into bb.txt.gz

cat *cpv_cpi*.txt | awk '{if ($2=="cpv") print $0}' | gzip > aa.txt.gz

cat *cpv_cpi*.txt | awk '{if ($2=="cpi") print $0}' | gzip > bb.txt.gz
 

# do the same, but now uncompressed

cat *cpv_cpi*.txt | awk '{if ($2=="cpv") print $0}' > aa.txt

cat *cpv_cpi*.txt | awk '{if ($2=="cpi") print $0}' > bb.txt

Open in new window

0
 

Author Comment

by:davidw88
ID: 24060972
Great. Thanks cyberstalker!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction: Dialogs (2) modeless dialog and a worker thread.  Handling data shared between threads.  Recursive functions. Continuing from the tenth article about sudoku.   Last article we worked with a modal dialog to help maintain informat…
How to remove superseded packages in windows w60 or w61 installation media (.wim) or online system to prevent unnecessary space. w60 means Windows Vista or Windows Server 2008. w61 means Windows 7 or Windows Server 2008 R2. There are various …
Learn several ways to interact with files and get file information from the bash shell. ls lists the contents of a directory: Using the -a flag displays hidden files: Using the -l flag formats the output in a long list: The file command gives us mor…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.

912 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now