Deleting string within a file that finishes with .log


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Deleting string within a file that finishes with .log
# 1  
Old 10-08-2010
Deleting string within a file that finishes with .log

Hello,

This is my first post. Nice forum!

I have a file trls.results
small exemple of content (actually the file can be very big):
./security/htaccess.htm ./security/ipcount.log ./adhoc/sql/datamod06.sql

So there is 3 paths to 3 different files... I want to remove every string that has a ".log" in it...

After manipulation, it should look like this:
./security/htaccess.htm ./adhoc/sql/datamod06.sql

End results: It's important to keep all inline with 1 space between since I will be adding them to array after...

TO do this... Should I use sed, tr, vi with search and replace, awk ? I want to keep it as simple as possible.

Any Ideas!?!?

The server is a HP-Unix.

Thanks
jake

Last edited by Jacob106106; 10-08-2010 at 12:29 PM..
# 2  
Old 10-08-2010
Code:
perl -i -pe 's/ [^ ]+\.log//g' file

This User Gave Thanks to bartus11 For This Post:
# 3  
Old 10-08-2010
Thanks !!
Works like a charm...

I will research this part 's/ [^ ]+\.log//g' in order to understand it..

Thanks
# 4  
Old 10-08-2010
There is one issue with it though. It will not delete .log entry if it is first one in the line, like:
Code:
./security/ipcount.log ./security/htaccess.htm ./adhoc/sql/datamod06.sql

If you want, I can come up with a fix to that Smilie
# 5  
Old 10-08-2010
sed

Code:
sed -e 's/ [^ ]*\.log//g' -e 's/  / /g' -e 's/^ //' file

To modify file in place
Code:
sed -i -e 's/ [^ ]*\.log//g' -e 's/  / /g' -e 's/^ //' file

If -i option isn't available, you can redirect outpu to a file.
This User Gave Thanks to frans For This Post:
# 6  
Old 10-08-2010
both (perl and sed) works but like you said both won't delete .log entry if it is first one in the line.

It would be greatly appreciate it if you help me with a fix for that...

Thanks
# 7  
Old 10-08-2010
Code:
perl -i -pe 's/ [^ ]+\.log//g;s/^[^ ]+\.log ?//' file

This User Gave Thanks to bartus11 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Issue deleting all lines (having a specific string) in a file

I'm trying to create a script. There are 2 files - fileA.log & fileB.log fileA.log has the below data : aaaa cccc eeee fileB.log has the below data : cjahdskjah aaaa xyz jhaskjdhas bbbb abc ajdhjkh cccc abc cjahdskjah ... (7 Replies)
Discussion started by: Pandee
7 Replies

2. Shell Programming and Scripting

Deleting part of a string : string manipulation

i have something like this... echo "teCertificateId" | awk -F'Id' '{ print $1 }' | awk -F'te' '{ print $2 }' Certifica the awk should remove 'te' only if it is present at the start of the string.. anywhere else it should ignore it. expected output is Certificate (7 Replies)
Discussion started by: vivek d r
7 Replies

3. Shell Programming and Scripting

Check if wget finishes

how can you check if wget finishes? i have this code to store the source of a website url into a variable: source=$(wget --timeout=15 -qO - $site) but this gets stuck sometimes e.g., one site had a virus and it stopped the script how can i check if wget finishes? i tried to run... (5 Replies)
Discussion started by: vanessafan99
5 Replies

4. UNIX for Dummies Questions & Answers

Deleting lines that contain a specific string from a space delimited text file?

Hi, I have a space delimited text file that looks like the following: 250 rs10000056 0.04 0.0888 4 189321617 250 rs10000062 0.05 0.0435 4 5254744 250 rs10000064 0.02 0.2403 4 127809621 250 rs10000068 0.01 NA 250 rs1000007 0.00 0.9531 2 237752054 250 rs10000081 0.03 0.1400 4 17348363... (5 Replies)
Discussion started by: evelibertine
5 Replies

5. Shell Programming and Scripting

deleting lines in a log file

Hello Community, sorry iam from germany and my englisch is not so well. iam searching for less then 4 hours on the web for a solution of my problem. i have a proxy-log-file and want to delete lines wicht matches on two words. example of the line in the logfile: now i want to delet... (3 Replies)
Discussion started by: matze
3 Replies

6. Shell Programming and Scripting

Deleting a line from a file based on one specific string instance?

Hello! I need to delete one line in a file which matches one very precise instance of a string only. When searching the forum I unfortunately only found a solution which would delete each line on which a particular string occurs. Let's assume I have a file composed of thousands of lines... (4 Replies)
Discussion started by: Black Sun
4 Replies

7. Shell Programming and Scripting

deleting double entries in a log file

Hi Folks, I have a apache log file that has double entries (however not all lines appear twice). How can I delete automatically the first line of a double entry? Your help is greatly appreciated. Thanks, Klaus Here is what the log file looks like 217.81.190.164 - - "GET... (7 Replies)
Discussion started by: opusforum
7 Replies

8. Shell Programming and Scripting

deleting lines in a log file

Is there an easy way to delete the first so many lines in a log file? like I have a log file that has 10000 lines, i want to just get rid of the first 9000. (2 Replies)
Discussion started by: BG_JrAdmin
2 Replies

9. UNIX for Dummies Questions & Answers

Deleting string from file of same name within several directories

I searched the forum, but I don't think I was able to find exactly what I'm looking for. Is there a command in shell where I can delete a particular string from every file it occurs in (where the file is named the same, but sits in different directories)? Example: Within the directory I am... (5 Replies)
Discussion started by: halo969
5 Replies

10. UNIX for Advanced & Expert Users

Deleting log file

Hi:- Will there be any difference in Solair 2.6 if I delete /var/cron/log file to free up some space. Thanks in advance (5 Replies)
Discussion started by: s_aamir
5 Replies
Login or Register to Ask a Question