Visit Our UNIX and Linux User Community


how to deleting except the patern in a file


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers how to deleting except the patern in a file
# 1  
Old 10-01-2009
how to deleting except the patern in a file

Hello respected members,

I have a file wich has several fields separated by space. I want to remove all the fields which are not the client_name.
I mean the field which are not "pfizer","csx" and "mafoi". And the deletion action will be taken place from the 3rd field(including the third field).


my input file looks like

Code:
quality hardware csx pfizet honda kiuty
hardware quality pfizer name 
newyork quality mafoi pfizer  working csx


my output shoul be like this:

Code:
quality hardware csx pfizet 
hardware quality pfizer  
newyork quality mafoi pfizer  csx

can it will be done by awk.

thanks in advance

manabhanjan
# 2  
Old 10-01-2009
one way:

Code:
#  cat infile
quality hardware csx pfizet honda kiuty
hardware quality pfizer name
newyork quality mafoi pfizer  working csx

#  nawk '{t=$1" "$2;for (i=3;i<=NF;i++){ if (index("csx pfizer mafoi",$i)){t=t" "$i}} print t;t=""}' infile
quality hardware csx
hardware quality pfizer
newyork quality mafoi pfizer csx

(Not quite the same as your output as it removes the "pfizet" on line 1, which I'm guessing was a minro typo ?)

HTH

Last edited by Tytalus; 10-01-2009 at 06:17 AM.. Reason: minor typo
# 3  
Old 10-01-2009
Thanks tytalus vey much.

great............

i just typed wrongly pfizer to pfizet

regards,
mana

---------- Post updated at 03:02 PM ---------- Previous update was at 02:53 PM ----------

The privious was working correctly not this one you modified by using index.

---------- Post updated at 03:09 PM ---------- Previous update was at 03:02 PM ----------

Hi tytalus,

the code you gave i am facing little problem.
Code:
nawk '{t=$1" "$2;for (i=3;i<=NF;i++){ if (index("csx pfizer mafoi",$i)){t=t" "$i}} print t;t=""}' infile

here if a field is pizerghki or csx_hello_name ,these are also selected .
i want the field only csx not csx_hello which is not csx.

regards,
manabhanjan

---------- Post updated at 03:12 PM ---------- Previous update was at 03:09 PM ----------

I have modified the code my self and it is now working fine .

thank you tytalus .
 

Previous Thread | Next Thread
Test Your Knowledge in Computers #259
Difficulty: Easy
Steve Jobs was born in San Francisco, California, and put up for adoption.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Deleting file basing on the timestamp substring in the file name

Hello, I have in my backup folder, files with names convention like this : randomFileNames_13-02-2014_23h13m09+1392333189 randomFileNames_14-02-2014_02h13m09+1392343989 randomFileNames_14-02-2014_04h13m09+1392351189 etc.... Base on timestamp at end of the filename, I would to delete all the... (7 Replies)
Discussion started by: thuyetti
7 Replies

2. UNIX for Dummies Questions & Answers

Grep to find matching patern and return unique values

Request: grep to find given matching patern and return unique values, eliminate the duplicate values I have to retrieve the unique folder on the below file contents like; /app/oracle/build_lib/pkg320.0_20120927 /app/oracle/build_lib/pkg320.0_20121004_prof... (5 Replies)
Discussion started by: Siva SQL
5 Replies

3. UNIX for Dummies Questions & Answers

Grep to find lines matching given patern in a file

When I try with patern matching in a file with below code works cat scj_drive_commands | egrep '/app/oracle/build_lib/pkg32|/app/oracle/build_lib/pkg33' But when I have code with patern searching using of below does not work ! cat scj_drive_commands | egrep... (3 Replies)
Discussion started by: Siva SQL
3 Replies

4. UNIX for Dummies Questions & Answers

Deleting a pattern in UNIX without deleting the entire line

Hi I have a file: r58778.3|SOURCES={KEY=f665931a...,fw,221-705}|ERRORS={16_1:T,30_1:T,56_1:C,57_1:T,59_1:A,101_1:A,115:-,158_1:C,186_1:A,204:-,271_1:T,305:-,350_1:C,368_1:G,442_1:C,472_1:G,477_1:A}|SOURCE_1="Contig_1092402550638"(f665931a359e36cea0976db191ff60ff09cc816e) I want to retain... (15 Replies)
Discussion started by: Alyaa
15 Replies

5. Shell Programming and Scripting

Deleting file name

I need a way to remove all the file names with they are extension from a line of a document. For example: I have doc named "gara" with the following content: /media/gogo/6651-FEAB/Desktop/Desktop.jpg /media/gogo/6651-FEAB/Desktop.pdf /media/gogo/6651-FEAB/linux/logo1.jpg... (4 Replies)
Discussion started by: gogok_bg
4 Replies

6. Shell Programming and Scripting

awk - writing matching pattern to a new file and deleting it from the current file

Hello , I have comma delimited file with over 20 fileds that i need to do some validations on. I have to check if certain fields are null and then write the line containing the null field into a new file and then delete the line from the current file. Can someone tell me how i could go... (2 Replies)
Discussion started by: goddevil
2 Replies

7. Shell Programming and Scripting

Patern Match Question on file names

I have a script which I use to archive log files and I want to install it on another server. I match any file with a ".log" in the name. Most files end with ".log" or ".log.nnnn". Of course someone has a file on this server that they do not want to archive that has .login.ear in the file name and... (1 Reply)
Discussion started by: prismtx
1 Replies

8. Shell Programming and Scripting

How to specify 'not case sensitive' in regex (nawk, sed, patern expencions)?

Is it possible to make the search in regular exprecion or in matching parts of sed, nawk and others to IGNORE the case of the search string? I mean, like if used 'grep' with -i option: > grep -i "abc" file I would like to be able to do the same, say, by nawk: > nawk '/abc/ {print $0}'... (4 Replies)
Discussion started by: alex_5161
4 Replies

9. UNIX for Dummies Questions & Answers

tar archive with including specific patern files

Hi, I need to create recursive tar archive, while I put there only files of type a*.txt. Without file filtering the command is: tar cfzf test.tar.gz test_tar/ How I include the switch for including only files with pattern a*.txt ? Thanks a lot! (1 Reply)
Discussion started by: john.gelburg
1 Replies

10. Shell Programming and Scripting

Deleting lines inside a file without opening the file

Hi, Just consider there are around 10 lines in a file. Now is it possible to delete the first 2 lines in the file without opening the file. No matter whatever the content of the file is, I just wanna delete the first 2 lines without opening the file. Is that possible? If so, please help me out.... (3 Replies)
Discussion started by: toms
3 Replies

Featured Tech Videos