Delete specific lines from a file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Delete specific lines from a file
# 1  
Old 04-08-2009
Delete specific lines from a file

Hi,

I have a file ( all_users.ldif ) of the following format:

cn=orcladmin, cn=Users, dc=maximus,dc=com
cn=PUBLIC, cn=Users, dc=maximus,dc=com
cn=portal,cn=users,dc=maximus,dc=com
cn=portal_admin,cn=users,dc=maximus,dc=com
cn=uddi_publisher,cn=Users,dc=maximus,dc=com
cn=uddi_publisher1,cn=Users,dc=maximus,dc=com
cn=ias_admin,cn=Users,dc=maximus,dc=com
cn=uddi_replicator,cn=Users,dc=maximus,dc=com
cn=HA30759, cn=users,dc=maximus,dc=com
cn=AD23563, cn=users,dc=maximus,dc=com
cn=DM20223, cn=users,dc=maximus,dc=com
cn=SS25332, cn=users,dc=maximus,dc=com
cn=AJ24809, cn=users,dc=maximus,dc=com
cn=SG21380, cn=users,dc=maximus,dc=com
cn=PORTAL30, cn=users,dc=maximus,dc=com
cn=PORTAL30_SSO, cn=users,dc=maximus,dc=com


These are different users from OID. From this file I want to delete a few lines. The criteria is to delete lines for the following users:

orcladmin
PUBLIC
portal
portal_admin
uddi_publisher
uddi_publisher1
ias_admin
uddi_replicator


Any ideas on how I can achieve this please?
# 2  
Old 04-08-2009
assuming users to be deleted are in a file 'users2del.txt':
Code:
orcladmin
PUBLIC
portal
portal_admin
uddi_publisher
uddi_publisher1
ias_admin
uddi_replicator

Code:
nawk -F'=|,' 'FNR==NR {f1[$0];next} !($2 in f1)' users2del.txt all_users.ldif

# 3  
Old 04-08-2009
Too complicated for me to understand.. new to awk :-)

It's resulting in a 0 byte all_users.ldif file



I was trying to do it with sed actually

for i in orcladmin PUBLIC portal portal_admin uddi_publisher orcladmin uddi_publisher1 ias_admin uddi_replicator
do
echo "deleting user $i"
sed "/${i}/ d" all_users.ldif > all_users.ldif
done


Interesting this also is resulting in a 0 byte file
# 4  
Old 04-08-2009
Yay!! I got it fixed with my own random logic :-)

for i in orcladmin PUBLIC portal portal_admin uddi_publisher orcladmin uddi_publisher1 ias_admin uddi_replicator
do
echo "deleting user $i"
sed "/${i}/d" all_users.ldif > all_users_temp.ldif
mv all_users_temp.ldif all_users.ldif
done

I know there must be a more refined way with sed as well... but it's a good start, I guess?
# 5  
Old 04-08-2009
Code:
nawk -F'=|,' 'FNR==NR {f1[$0];next} !($2 in f1)' users2del.txt all_users.ldif > all_users_temp.ldif ; mv all_users_temp.ldif all_users.ldif

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete lines above and below specific line of text

I'm trying to remove a specific number of lines, above and below a specific line of text, highlighted in red: <STMTTRN> <TRNTYPE>CREDIT <DTPOSTED>20151205000001 <TRNAMT>10 <FITID>667800001 <CHECKNUM>667800001 <MEMO>BALANCE </STMTTRN> <STMTTRN> <TRNTYPE>DEBIT <DTPOSTED>20151207000001... (8 Replies)
Discussion started by: bomsom
8 Replies

2. Shell Programming and Scripting

Delete specific lines from files based on another file

I have some text files in a folder named ff as follows. I need to delete the lines (in-place editing)in these files based on another file aa.txt. 32bm.txt: 249 253 A P - 0 0 8 0, 0.0 6,-1.4 0, 0.0 2,-0.4 -0.287 25.6-102.0 -74.4 161.1 37.1 13.3 10.9 250... (2 Replies)
Discussion started by: aden
2 Replies

3. UNIX for Dummies Questions & Answers

How to delete specific lines (2n+3 line, n=0,1,2...296) in a file?

Dear everyone, I have a file with 900 lines (there is only numbers in one line, no string), I only need the lines 2+3n (n=0,1...296), i.e line 2, 5, 8, 11...888. I tried google but only the results such as how to delete all the odd lines or all the even lines with 'awk' command. Thanks in... (4 Replies)
Discussion started by: phamnu
4 Replies

4. Shell Programming and Scripting

how to delete lines from a file which starts with a specific pattern

I need to delete those lines from a file, which starts with 45. How to do it? (3 Replies)
Discussion started by: mady135
3 Replies

5. Shell Programming and Scripting

A way to delete specific lines

Hi all, I hope an expert tells me that there is a way to get ride of the certain lines in my files which have no specific string on them but fixed length. It's the original pattern:... (9 Replies)
Discussion started by: GoldenFire
9 Replies

6. Shell Programming and Scripting

Delete all lines after a specific line ?

Hello. My file is like this: a b c d e f g h i I want to delete all lines after the 3rd line, means after the "c". Is there any way to do this? The lines differ between them and the lines I want to delete does not have a specific word, or the lines I want to keep (a,b,c) does not have a... (4 Replies)
Discussion started by: hakermania
4 Replies

7. Shell Programming and Scripting

How to delete all lines before a specific word?

Let's say we have a file containing: alllllsadfsdasdf qwdDDDaassss ccxxcxc#2222 dssSSSSddDDDD D1Sqn2NYOHgTI Hello Alex ssS@3 Ok, and let's say we want to delete all words from D1Sqn2NYOHgTI and back, this means to delete the words (and the lines of them) : alllllsadfsdasdf... (2 Replies)
Discussion started by: hakermania
2 Replies

8. Shell Programming and Scripting

Delete lines prior to a specific date in a log file.

Hi all. I have a database log file in which log data get appended to it daily. I want to do a automatic maintainence of this log by going through the log and deleting lines belonging to a certain date. How should i do it? Please help. Thanks. Example. To delete all lines prior to Jun... (4 Replies)
Discussion started by: ahSher
4 Replies

9. UNIX for Advanced & Expert Users

How to delete specific lines at the same time

Dear All I have a pattern which look like this: 2 20080312_10:55:35.800 Spain-Telefonica ISC 9 IAM 927535957 34670505334 f 275 COT b 700 ACM b 6577 CPG b 10726 ANM b 202195 REL f 202307 RLC :COMMA: NCI=15,FCI=2101,CPC=0A,TMR=00,USI,OFI=00: :COMMB: BCI=0214,OBI=01,ACT: :RELCAUSE:10: This... (1 Reply)
Discussion started by: zanetti321
1 Replies

10. Programming

Delete specific lines in a text file

Hi, experts, I would like to create a function that can calculate the total number of lines in a saved text file and delete specific lines in that particular file (I only want the last few lines). Hav anybody have the experience and giv me a hand in this? (9 Replies)
Discussion started by: dniz
9 Replies
Login or Register to Ask a Question