[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Sed advice needed



Here's one way:

# Put the sample lines into a file called inline.txt
for inline in `cat inline.txt | tr -d " "` #remove spaces for cut
do
 # Remove quotes
 Tmp=`echo $inline | tr -d "\""`
 # Break into fields...
 f1=`echo $Tmp | cut -f1 -d","`
 f2=`echo $Tmp | cut -f2 -d","`
 f3=`echo $Tmp | cut -f3 -d","`
 f4=`echo $Tmp | cut -f4 -d","`
 f5=`echo $Tmp | cut -f5 -d","`
 # Get data past =  char form the 3rd entry in 6th field
 f6=`echo $Tmp | cut -f8 -d"," | cut -f2 -d"="`
 echo "\"$f1\",\"$f2\",\"$f3\",\"$f4\",\"$f5\",\"$f6\""
done

Enjoy,
Larry
----- Original Message ----- From: "Piers Kittel" <debian@biased.org>
To: <debian-user@lists.debian.org>
Sent: Thursday, May 31, 2007 12:05 PM
Subject: Sed advice needed


Hello all,

I need to delete some words out of a large file containing information about packets I'm analysing. I know I can use sed to do this, but haven't really used it before, so am a bit unsure of how to do it. Two example lines are as of below:

"181","1324.014027","111.111.111.111","111.111.111.111","RTP","Payload t ype=ITU-T H.261, SSRC=2008229573, Seq=54520, Time=1725612773, Mark" "185","1324.078941","111.111.111.111","111.111.111.111","RTP","Payload t ype=ITU-T H.261, SSRC=2008229573, Seq=54521, Time=1725616276"

I need to convert the above to the below:

"181","1324.014027","111.111.111.111","111.111.111.111","RTP","54520"
"185","1324.078941","111.111.111.111","111.111.111.111","RTP","54521"

What's the best way to do this? I've been reading the man pages of sed, cut and awk but I can't quite figure out how to do this. Any ideas?

Thanks very much for your time in advance!

Regards - Piers


--
To UNSUBSCRIBE, email to debian-user-REQUEST@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org





Reply to: