Visit Our UNIX and Linux User Community


search and delete a line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting search and delete a line
# 1  
Old 09-26-2002
search and delete a line

Folks,

I have a set of list that contains file names. I want to search through each of the list and delete any file that is found in the list.

eg.
LIST_A contains:
aaa
bbb
ccc
ddd
eeee

LIST_B contains:
aab
aac
adb
aed

assuming I want to delete 'aac' from the list and I don't know which of the list contains 'aac', what's the best way to search through the list and delete the file if found?

This is what i've tried
ans=`cat LIST_A | grep aac`
if [[ $ans = "" ]]
then
echo "Not found in LIST_A"
ans2=`cat LIST_B | grep aac`
if [[ $ans2 = ""]]
then
echo "Not founf in LIST_B"
else
** delete the line (How will I code this portion)**
fi
else
** delete the line (How will I code this portion)**
fi

I will appreciate whatever assistance I can get from you guys.

Thanks,

Odogbolu98Smilie
# 2  
Old 09-26-2002
Hi Odogbolu98

try

while read line
do
if [ "$line" = "acc" ]
then
echo "acc found and removed"
else
echo $line >> new_LIST_A
fi
done < LIST_A

while read line
do
if [ "$line" = "acc" ]
then
echo "acc found and removed"
else
echo $line >> new_LIST_B
fi
done < LIST_B

You will get new_LIST_A and new_LIST_B without the offending lines!

Hope this helps
Helen Smilie
# 3  
Old 09-26-2002
This can be done

for i in files
do
grep -vw "aac"<$i>$i.new
mv $i.new $i
doneSmilie
# 4  
Old 09-26-2002
Can you clarify if you want files deleting or if you want lines within your list of filenames removing?

Cheers
Helen
# 5  
Old 09-26-2002
Thanks Bab00shka & ganti:

Bab00shka: In answering to your question:

Actually what I wanted it to remove the entire line where the string is found. So it's like deleting the whole line. I'll give both suggested solution a trial.

Thanks,

Odogbolu98
# 6  
Old 09-26-2002
You could use sed

sed '/acc/d' LIST_A > LIST_A.tmp
mv LIST_A.tmp > LIST_A
# 7  
Old 09-26-2002
sorry, bit of a typo. That should be

sed '/acc/d' LIST_A > LIST_A.tmp
mv LIST_A.tmp LIST_A

Previous Thread | Next Thread
Test Your Knowledge in Computers #989
Difficulty: Medium
OpenBSD includes no third-party components.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Need help with how to search a file for a variable string and delete that line

Hi, I have a working script. It does what I am intending it to but a bit confused whether the sed part is supposed to be working or not. Further down is the script with the sed part that should have been working but not and the grep -v part which is the workaround that I am using at the... (10 Replies)
Discussion started by: newbie_01
10 Replies

2. UNIX for Dummies Questions & Answers

How to delete blank line/s before and after a search pattern?

Hi, Test file x.txt below. This file is generated by a program that I unfortunately do not have control on how it gets presented/generated. create PACKAGE "XXX_INTERFACE_DEFECT_RPT_TEST" is TYPE refCursor IS REF CURSOR; Function queryRecords ( p_status varchar2, ... ... ... )... (4 Replies)
Discussion started by: newbie_01
4 Replies

3. Homework & Coursework Questions

sed Multiple Pattern search and delete the line

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: I have file which has got the following content sam 123 LD 41 sam 234 kp sam LD 41 kam pu sam LD 61 Now... (1 Reply)
Discussion started by: muchyog
1 Replies

4. Shell Programming and Scripting

awk delete/remove rest of line on multiple search pattern

Need to remove rest of line after the equals sign on search pattern from the searchfile. Can anybody help. Couldn't find any similar example in the forum: infile: 64_1535: Delm. = 86 var, aaga 64_1535: Fran. = 57 ex. ccc 64_1639: Feb. = 26 (link). def 64_1817: mar. = 3/4. drz ... (7 Replies)
Discussion started by: sdf
7 Replies

5. Shell Programming and Scripting

Search for a line, delete a string in it

let me start out by saying i have ZERO exp with any kind of scripting, so sorry if this is really basic stuff..... For example, I need to have a script that will search a file and find this line in the file: *.cat;dog;kennel;house;barn;horse;hay;coat hat and remove the "coat" from the... (12 Replies)
Discussion started by: skunky
12 Replies

6. Shell Programming and Scripting

search for keyword in subsequent lines and delete the second line

I have my data something like this I need to search for the keyword yyyy in the susequent lines and if it is present, delete the second line with keyword. In other words, if a keywords is found in two subsequent lines delete the second line. input data: aaaa bbbbb cccc dddd xxxx... (4 Replies)
Discussion started by: rdhanek
4 Replies

7. Shell Programming and Scripting

search string and delete the line

Hi All, I have a file from Mainframe which has one of the lines with so many words... i tried to fold, format to 80 chararcter.. stil did not work. So i have decided to search for a string in that line Ex.FLIGHT PLAN and once if it is found i want to delete the entire line. Please help... (2 Replies)
Discussion started by: digitalrg
2 Replies

8. Shell Programming and Scripting

search 2 lines and delete above line

Hi, I've been searching in this forum for the last 4 hours trying to do one thing: search 2 lines and delete the above line. So far I have not be able to find something similar in this forum, so I need help. This is what I'm trying to do. For example, I have a file called file1: file1 word1... (4 Replies)
Discussion started by: shamushamu
4 Replies

9. Shell Programming and Scripting

Multile Pattern Search in a same line and delete

HI Gurus, I need to delete a line from a syslog file, if it matches three conditions. Say for ex., if the device name is device.name.com and if it contains the syslog message PAGP-5-PORTFROMSTP in between the time period 00:00:00 to 04:00:00, then the particular line has to be deleted from... (2 Replies)
Discussion started by: sasree76
2 Replies

10. Shell Programming and Scripting

Search for by column and delete line

I have a file with thousands of lines. I need to search for a specific value in a specific field and delete the lines that match. example. abcdXX1234567 abcdXY1234567 abcdXX1234567 abcdXX1234567 If there is an XY in position 5 and 6 then remove that line. Any suggestions would... (4 Replies)
Discussion started by: thudak
4 Replies

Featured Tech Videos