Need To Delete Lines Based On Search Criteria


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need To Delete Lines Based On Search Criteria
# 1  
Old 02-17-2013
Need To Delete Lines Based On Search Criteria

Hi All,

I have following input file. I wish to retain those lines which match multiple search criteria. The search criteria is stored in a variable seperated from each other by comma(,).

HTML Code:
SEARCH_CRITERIA = "REJECT, DUPLICATE" 

Input File:

ERROR,MYFILE_20130214_11387,9,37.75
REJECT,MYFILE_20130214_12486,1,20
DUPLICATE,MYFILE_20130214_12486,8,17.75
REJECT,MYFILE_20130214_14903,9,37.75
ERROR,MYFILE_20130214_17108,9,37.75
DUPLICATE,MYFILE_20130214_1811,0,0
My ouput file should look like below:

HTML Code:
REJECT,MYFILE_20130214_12486,1,20
DUPLICATE,MYFILE_20130214_12486,8,17.75
REJECT,MYFILE_20130214_14903,9,37.75
DUPLICATE,MYFILE_20130214_1811,0,0
Thanks & Regards
Angshuman
# 2  
Old 02-17-2013
Code:
SEARCH_CRITERIA="REJECT, DUPLICATE"

echo "$SEARCH_CRITERIA" | IFS=, read r d

awk -v R="$r" -v D="$d" '$0 ~ /^R/ || $0 ~ /^D/' file

# 3  
Old 02-17-2013
Code:
awk -v sc=REJECT,DUPLICATE 'BEGIN{n=split(sc,a,/,/)}
{p=0;for(i=1;i<=n;i++) if(index($0,a[i])) {p=1;break}}p' infile

# 4  
Old 02-17-2013
Another approach:
Code:
SEARCH_CRITERIA="REJECT,DUPLICATE"

echo "$SEARCH_CRITERIA" | awk -F, ' {
        for(i=1;i<=NF;i++)
                a[$i];
        } {
        while((getline line < "filename")>0) {
                split(line,L,",");
                if(L[1] in a)
                        print line;
        }
        close("filename");
}'

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete duplicate row based on criteria

Hi, I have an input file as shown below: 20140102;13:30;FR-AUD-LIBOR-1W;2.495 20140103;13:30;FR-AUD-LIBOR-1W;2.475 20140106;13:30;FR-AUD-LIBOR-1W;2.495 20140107;13:30;FR-AUD-LIBOR-1W;2.475 20140108;13:30;FR-AUD-LIBOR-1W;2.475 20140109;13:30;FR-AUD-LIBOR-1W;2.475... (2 Replies)
Discussion started by: shash
2 Replies

2. Shell Programming and Scripting

Copying section of file based on search criteria

Hi Guru's, I am new to unix scripting. I have a huge file with user details in it(file2) and I have another file with a list of users(file1). Script has to search a user from file1 and get all the associated lines from file2. Example: fiel1: cn=abc cn=DEF cn=xyx File 2: dn:... (10 Replies)
Discussion started by: Samingla
10 Replies

3. Shell Programming and Scripting

Select lines from a file based on a criteria

Hi I need to select lines from a txt file, I have got a line starting with ZMIO:MSISDN= and after a few line I have another line starting with 'MOBILE STATION ISDN NUMBER' and another one starting with 'VLR-ADDRESS' I need to copy these three lines as three different columns in a separate... (3 Replies)
Discussion started by: Tlcm sam
3 Replies

4. Shell Programming and Scripting

Merging Lines based on criteria

Hello, Need help with following scenario. A file contains following text: {beginning of file} New: This is a new record and it is not on same line. Since I have lost touch with script take this challenge and bring all this in one line. New: Hello losttouch. You seem to be struggling... (4 Replies)
Discussion started by: losttouch
4 Replies

5. Shell Programming and Scripting

Extract data based on specific search criteria

I have a huge file (about 2 millions records) contains data separated by “,” (comma). As part of the requirement, I can't change the format. The objective is to remove some of the records with the following condition. If the 23rd field on each line start with 302 , I need to remove that from the... (4 Replies)
Discussion started by: jaygamini
4 Replies

6. Shell Programming and Scripting

awk search & delete located criteria

Guys, I manages to get awk to search and print the files that I want to delete. However I am stuck on the delete portion. Here is the command that I am using to fins these files. find /usr/local/apache/conf/vhosts/ -type f | awk '/e$/' The output is perfect. The files look like so: ... (4 Replies)
Discussion started by: jaysunn
4 Replies

7. Shell Programming and Scripting

Delete new lines based on search criteria

Hi all! A bit of background: I am trying to create a script that formats SQL statements. I have gotten so far as to add new lines based on certain match criteria like commas, keywords etc. In the process, I end up adding newlines where I don't want. For example: substr(colName, 1, 10)... (3 Replies)
Discussion started by: jayarkay
3 Replies

8. Shell Programming and Scripting

Append specific lines to a previous line based on sequential search criteria

I'll try explain this as best I can. Let me know if it is not clear. I have large text files that contain data as such: 143593502 09-08-20 09:02:13 xxxxxxxxxxx xxxxxxxxxxx 09-08-20 09:02:11 N line 1 test line 2 test line 3 test 143593503 09-08-20 09:02:13... (3 Replies)
Discussion started by: jesse
3 Replies

9. Shell Programming and Scripting

remove lines based on score criteria

Hi guys, Please guide for Solution. PART-I INPUT FILE (has 2 columns ID and score) TC5584_1 93.9 DV161411_2 79.5 BP132435_5 46.8 EB682112_1 34.7 BP132435_4 29.5 TC13860_2 10.1 OUTPUT FILE (It shudn't contain the line ' BP132435_4 29.5 ' as BP132435 is repeated... (2 Replies)
Discussion started by: smriti_shridhar
2 Replies

10. UNIX for Dummies Questions & Answers

Select records based on search criteria on first column

Hi All, I need to select only those records having a non zero record in the first column of a comma delimited file. Suppose my input file is having data like: "0","01/08/2005 07:11:15",1,1,"Created",,"01/08/2005" "0","01/08/2005 07:12:40",1,1,"Created",,"01/08/2005"... (2 Replies)
Discussion started by: shashi_kiran_v
2 Replies
Login or Register to Ask a Question