deleting text records with sed (sed paragraphs)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting deleting text records with sed (sed paragraphs)
# 1  
Old 08-27-2009
deleting text records with sed (sed paragraphs)

Hi all,

First off, Thank you all for the knowledge I have gleaned from this site!

Deleting Records from a text file... sed paragraphs

The following code works nearly perfect, however each time it is run on the log file it adds a newline at the head of the file, run it 5 times, it'll have 5 blank lines at the head of the file.

I have been unable to figure out why or how to prevent it.

Newlines should be after the record, not before.

Also, How big of file can sed handle like this??

The code: (I have made it into a here doc for example)
Code:
#!/bin/sh

matchitem=' Using archive: /mnt/Raid/test/Backup_20090824@051500.tbz'
item2del=$(echo "${matchitem}" | sed 's:[]\[\^\$\.\*\/]:\\&:g')

sed -n '
/Backup started:/ b paragraph
H
$ b paragraph
b
:paragraph
x
/'"${item2del}"'/!p' <<EOF
Backup started: Sat Aug 22 05:15:00 EDT 2009, MyBackup v3.0.8
 Using archive: /mnt/Raid/test/Backup_20090822@051500.tbz
Backup completed: 293,437,440 bytes in 131 seconds at 05:17:11 EDT

Backup started: Sun Aug 23 05:15:00 EDT 2009, MyBackup v3.0.8
 Using archive: /mnt/Raid/test/Backup_20090823@051500.tbz
Backup completed: 224,477,184 bytes in 100 seconds at 05:16:40 EDT

Backup started: Mon Aug 24 05:15:00 EDT 2009, MyBackup v3.1.0
 Using archive: /mnt/Raid/test/Backup_20090824@051500.tbz
 Removed archive: /mnt/Raid/test/Backup_20090817@051501.tbz
Backup completed: 224,307,734 bytes in 99 seconds at 05:16:39 EDT

Backup started: Tue Aug 25 05:15:00 EDT 2009, MyBackup v3.1.0
 Using archive: /mnt/Raid/test/Backup_20090825@051500.tbz
 Removed archive: /mnt/Raid/test/Backup_20090818@051500.tbz
Backup completed: 237,993,204 bytes in 104 seconds at 05:16:44 EDT

EOF

Thanks all

-Enjoy
fh : )_~
# 2  
Old 09-01-2009
Follow up for those that care!

I was unable to get sed to quit adding lines to the file so I looked other places and wound up using perl.

The following does the job just fine!

Code:
matchitem='MATCH THIS'
perl -i -ne "$/ = ''; print if !m/${matchitem}/ms;" "filename"

Inspiration came from:
Delete a block of text delimited by blank lines when pattern is found

-Enjoy
fh : )_~
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Deleting [CR][LF] using sed

Dear all, I face a problem I can not solve: I have different lines in a file and some of them are ending with ie "\r\n" and the others are ending with "\n". My aim is to supress the string "\r\n" and concatenate that line with the following one. For example: Saying I have a file... (4 Replies)
Discussion started by: dae
4 Replies

2. Shell Programming and Scripting

Finding some records with sed command

Hi for all! sorry guys for my dumb question, but I'm really need help so, we have file with many many fields, like this one: 201001002359 blablabla 87654321 201001002359 123,56 77272588300 blablabla/123 91823778544and I wrote awk command awk '{if($6~/(2588300|2580000|2587021)$/)print}'so,... (8 Replies)
Discussion started by: shizik
8 Replies

3. UNIX for Dummies Questions & Answers

deleting text with sed

Hi There! I've got a tab delimited text file (output from a software) to which I would like to delete specific strings from one of the columns. I have tried several sed codes, but they do not seem to work for me. I can manage to delete a specific word, but this is of no use, as I what I want to... (3 Replies)
Discussion started by: alfredman
3 Replies

4. Shell Programming and Scripting

Deleting lines using Sed

Hi All, Please can anyone help me as am deleting a line in a file with the below script: sed '/"$value"/d' redirects.virgin-atlantic.com.conf > olist where $value is a variable where the pattern to be matched is stored. I am not getting any error also but the line containing the pattern... (2 Replies)
Discussion started by: Shazin
2 Replies

5. Shell Programming and Scripting

sed logic before deleting

FileA NAME STATE CITY ---- ---- ----- abc ca ca bcc ny ny def nj nj (3 rows affected) Q1) I want to delete the second row with is ---- ---- -----. Can delete 2nd row using following sed '2d' FileA >FileB but incase the second record is not ---- ---- -----. then data will... (3 Replies)
Discussion started by: pinnacle
3 Replies

6. Shell Programming and Scripting

fetching paragraphs with SED

hi, i am a SED newbie and i need some help. i have a log file as shown below. and i want to search specific Error Code, and fetch the whole paragraph. ... ... ................. ....ErrCode... ................. ... ... ... ................. ....ErrCode... ... (4 Replies)
Discussion started by: ipat
4 Replies

7. UNIX for Dummies Questions & Answers

logging deleted records by sed

Hi, I want to use the sed command to delete some lines in a file and I was wondering whether there is a possibility of knowing which lines are deleted, or at least which line numbers. Thanks (4 Replies)
Discussion started by: vanagreg
4 Replies

8. Shell Programming and Scripting

How to replicated records using sed

I need to generate exactly 102 duplicates in a file using sed. Here's an example of my input: Grid-ref = 1, 148 Grid-ref = 1, 311 Grid-ref = 1, 428 I need: Grid-ref = 1, 148 Grid-ref = 1, 148 Grid-ref = 1, 148 Grid-ref = 1, 148 ... repeated 102 times, then Grid-ref = 1, 311... (2 Replies)
Discussion started by: Russ
2 Replies

9. Shell Programming and Scripting

Help deleting lines with SED.

I take the /etc/passwd file and print it out, but I only want the lines that end with sh. I have cat /etc/passwd | sed '/sh/!d' Which prints out all lines that have sh somewhere in it. So I added $, which I thought matches the ends on lines, but its not working, like for example I have have... (5 Replies)
Discussion started by: Bandit390
5 Replies

10. UNIX for Dummies Questions & Answers

Using sed to remove paragraphs with variables

Hi everyone, I have a file with multiple entries and I would like to remove the ones that contain either /A"> or /A/, where A can be any letter of the alphabet. Here's an example of the entries: <Topic r:id="Top/World/Fran"> <catid>476</catid> <link... (1 Reply)
Discussion started by: BlueberryPickle
1 Replies
Login or Register to Ask a Question