shell script/sed command help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting shell script/sed command help
# 1  
Old 11-13-2009
shell script/sed command help

First off I have read the man pages for sed and am still having trouble working on a script to remove portions of a log:

My goal is to take a log file to be emailed, read the file and strip the portions away AFTER the line MIME-Version:1.0
and strip away until it to the line starting with Content-Type:application.

(HOWEVER, i would like for the sed command to keep the boundry line written before the Content-Type:application line.)

ex. removing everything bold and italicized. note this will be static so it wont always be the same information or linecount.

Code:
MIME-Version: 1.0

--_002_67C1678059C61F408194E53907AFB5CC09FB7E8BE6ISEXMB01RPadr_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable


Here goes nothing.
-----Original Message-----
From: =20
Sent: Friday, November 13, 2009 2:42 PM
To: 
Subject: send to myself

This will be forwarded to mail2fax.

--_002_67C1678059C61F408194E53907AFB5CC09FB7E8BE6ISEXMB01RPadr_
Content-Type: application/pdf;


Any help would be appreciated. thank you.

Last edited by radoulov; 11-13-2009 at 06:09 PM.. Reason: added code tags
# 2  
Old 11-13-2009
Try this: -

Code:
nawk '
        /MIME-Version: 1.0/{ print;s++ }
        /Content-Type: application\/pdf/{
                print l
                print
                s = 0
        }
        { l = $0 }
        (s){ next }
' infile



---------- Post updated at 10:21 PM ---------- Previous update was at 10:16 PM ----------

Or

Code:
nawk '
        /MIME-Version: 1.0/{ print;s++ }
        /Content-Type: application\/pdf/{
                print l
                s = 0
        }
        { l = $0 }
        (s){ next }
        { print }
' infile

# 3  
Old 11-13-2009
If AWK is acceptable:

Code:
awk '!f; /^MIME-Version/ { f = 1 }
/^Content-Type: application/ { print p RS $0; f-- }
{ p = $0 }' infile

Do not use /usr/bin/awk on Solaris.
# 4  
Old 11-16-2009
does it change anything if I would need to have the command in a script that needs to call a file to read such as it would call a file "Random.txt" and read the information then strip it out?
# 5  
Old 11-16-2009
No, it shouldn't change anything.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed working on command line but file unchanged when execute with Shell script

I have a simple task to replace unix line feed end of line characters with carriage returns. When I run the following “change file in place” sed instruction from the command line all the Line feeds are successfully replaced with Carriage returns. sed -i 's/$/\r/' lf_file.txt But that same... (1 Reply)
Discussion started by: hawkman2k
1 Replies

2. Shell Programming and Scripting

sed command not accepting variable in shell script

I am using a shell script in fedora linux. While calling to the shell I am also passing an argument (var1=0.77) like shown below sh gossip.sh var1=0.77 in the shell following command is written (which doesn't work) sed - i -e 's@prob=@prob="$var1";//@g' file.txt Actually i want the... (7 Replies)
Discussion started by: Fakhar Hassan
7 Replies

3. Shell Programming and Scripting

Unable to pass shell script variable to awk command in same shell script

I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist. diff=$1$2.diff id=$2 new=new_$diff echo "My id is $1" echo "I want to sync for user account $id" ##awk command I am using is as below cat $diff | awk... (2 Replies)
Discussion started by: Ashunayak
2 Replies

4. Shell Programming and Scripting

sed command using variables in shell script

hi guys, The following command doesn't seem to work in my shell script: tag=$(sed -n '/${line}/ s/.*\.*/\1/p' myfile.txt) When i replace the ${line} with an actual value, it works fine. So, how do i use the ${line} in this sed command? Thanks in advance, Zaff (2 Replies)
Discussion started by: zaff
2 Replies

5. Shell Programming and Scripting

Using SED command in a shell script: Unterminated address regex

Hi All, I am trying to use a sed command in a shell script in order to delete some lines in a file and I got the following error message. I don't understand why it is not working 'cause I have tried with simple quotes, then with double-quotes, and it is not working. sed: -e expression #1,... (7 Replies)
Discussion started by: Alpha3363
7 Replies

6. Shell Programming and Scripting

"sed" command is not working in shell script

Hi All, I am not much strong in shell scripting... I am using sed command in my script to find and replace a string....... This is how script looks : ############# #!/usr/bin/ksh CONFIG_FILE=iom_test.txt FIND=`echo "NIS_FTP_SERVER1=123.456.iom.com"` REPLACE=`echo... (2 Replies)
Discussion started by: askumarece
2 Replies

7. Shell Programming and Scripting

Need help using sed command in shell script?

Hello, i want to take the input from user and according to that variable's value search in file emp.lst. Here is what i came up with echo -e "Enter string to be searched :\c" read str sed -n '/\$str/p' emp.lst this is not working! any idea why?Thanks in advance! :) (4 Replies)
Discussion started by: salman4u
4 Replies

8. Shell Programming and Scripting

Quick Question on sed command in shell script

Hello, I have the following line in one of my shell scripts. It works fine when the search string($SERACH_STR) exists in the logfile($ALERTLOG) but if the search string does not exist this line errors out at run time. Is there a way to make this line return 0 if it is not able to find the... (4 Replies)
Discussion started by: luft
4 Replies

9. Shell Programming and Scripting

Sed command in shell script

I have a current code working(named subst1) having a user be able to type this line to substitute words using the sed command: subst1 old-pattern new-pattern filename Here is my shell script: #!/bin/bash # subst1 ARGS=3 E_BADARGS=65 if then echo "Usage: `basename $0`... (1 Reply)
Discussion started by: Todd88
1 Replies

10. Shell Programming and Scripting

problem with sed command in shell script.

Guys, I've a problem in the "sed" command used in my shellscripts This is the problamatic line in my shell script: sed -e 's/${line1}/${line1_m}/g' prod_hier_1234.txt > test.txt It doesn't do the job of replacing the string stored in variable 'line1' to 'line1_m'. However If I replace the... (10 Replies)
Discussion started by: bhagat.singh-j
10 Replies
Login or Register to Ask a Question