Visit Our UNIX and Linux User Community


SED command problem


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting SED command problem
# 1  
Old 07-27-2009
SED command problem

hi frnds,
my data file goes like this


sessioj123 ffl
sfootxt
sgsggs TARG ROW
aaa :123
bbb : 145
ccc: 669
vvv: 777
)

my output should be 123,145,669,777.

we can identify the data block using the keywor TARG ROW and ).

Plz help how to implement using SED commands in shell script

i should loop through the file friend
# 2  
Old 07-27-2009
Use CODE-tags when posting code, data or logs to enhance readability and to preserve formatting like indention etc.,ty.


Code:
sed -n -e 's/[^:]*: *\([0-9]*\)$/\1/p' infile| sed -e :a -e 'N; s/\n/,/; ta'
123,145,669,777

# 3  
Old 07-27-2009
you put spaces around colon. mistakenly or it can happen??

if "sgsggs TARG ROW" is your third row always and ")" is the last row then

try this:


Code:
tail +4 file | sed '$d' | awk 'BEGIN { FS= ":";ORS = ","} { print $2} END { print "\n"}'

# 4  
Old 07-27-2009
Hi Anchal,

the file has n lot of lines in it. its log file. we should search the word TARG ROW and ")" and hv take out the values resides between these search patern.

in second,3rd,4th.. occurances , the number of values/lines between both the search pattern getting vary

the SED sommsnd should automatically search the both the pattern one by one and pick the values and formate the value row by row like this

Just a example output
123,235,533,343
234,445,3434,343
232,242,23,123,00
# 5  
Old 07-27-2009
Must you use sed?

Code:
awk -F'[ :]' '/\)/ { o=s=0; print "" }
              s { printf("%s%s", o ? "," : "", $NF); o=1 }
              /TARG ROW/ { s=1 }' filename


Last edited by cambridge; 07-27-2009 at 12:54 PM.. Reason: Tidied up formatting
# 6  
Old 07-27-2009
Good question Cambridge.

@Gopal_Engg:
Did you try out my sed solution?
I gave you a warning for not using CODE tags even I asked for them in my post. Please start using CODE tags accordingly in your future posts, ty.
# 7  
Old 07-28-2009
Code:
sed -e '1,/TARG ROW/d' -e '/^)$/,$d' -e 's/.*: *//' yourfile | tr '\n' ','


Previous Thread | Next Thread
Test Your Knowledge in Computers #651
Difficulty: Medium
Amanda the Panda is the mascot of MOTIF.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Problem with using sed command

I have tried to print the commands which are executed today from history file using sed command by putting the range but i am unable to get it.can anyone help with this is script.I am pasting the script below that i have tried . today=$(date "+%F") echo $today yest=$(date --date="yesterday" ... (2 Replies)
Discussion started by: iosjsk
2 Replies

2. UNIX for Dummies Questions & Answers

sed command problem

Hi i am reading a tutorial on sed below command was given in tutorial. i am not able to understand the working of below command also this command is now working in my enviroment. $ sed -n '1~2p' alarm sed: 1: "1~2p": invalid command code ~ $ need your assitance here (7 Replies)
Discussion started by: scriptor
7 Replies

3. Shell Programming and Scripting

Problem with sed command

Hi, I have a file with data demo_abc demo abc demo-abc abc Now i need to extract only abc from all the lines and print. i used the pattern /*$/ . Can any one help me how to extract text "abc" only. (5 Replies)
Discussion started by: krishna_gnv
5 Replies

4. Shell Programming and Scripting

i need help in sed command problem

i use 'sed' with this syntax " sed "/$lineerr/d" $fileerr > $fileerr"_Bak" && mv $fileerr"_Bak" $fileerr" it's work to remove the line that have the word in $lineerr but it also remove my last line in file too. - -" my input File $ cat fileerr.txt xx|1111111111 xx|2222222222... (5 Replies)
Discussion started by: Chalot99
5 Replies

5. UNIX for Dummies Questions & Answers

Problem with sed command

Hi, I used sed command to replace character. sed -n '1,$s//o/gp' inputfile > outputfile The problem is there are 5 records in input file and 2 records has that character. So after using the sed command, in output file Iam getting only those records which has character replaced by o.... (2 Replies)
Discussion started by: manneni prakash
2 Replies

6. UNIX for Dummies Questions & Answers

where is the problem in my sed command....

for example i have the file that contain several line..and i want to swap the first word and the second word than i store it into new file.. on the command i wrote: sed -e "s/^\(*\)\(*\)/\2\1/g" file > swapfile i think its already correct... but i got the error sed: -e expression... (5 Replies)
Discussion started by: P_W
5 Replies

7. UNIX for Dummies Questions & Answers

Problem while using Sed command

I want to write the output of From_Date_Parm and To_Date_Parm to the target file. I want to write a script by passing the filename. In my case the file is TransactionParams I tried it through command line. noofdays=TransactionParams sed... (2 Replies)
Discussion started by: gopskrish
2 Replies

8. Shell Programming and Scripting

sed command problem

hi I am using "sed" command to find and replace a text in a file. if the searched string is in the last line with no newline character in the end, it doesn't retrive this line. What is the solution to this? i am using sed as: sed -e "s/abc/ABC/g" test.txt where i am replacing abc with ABC (11 Replies)
Discussion started by: dharmesht
11 Replies

9. Shell Programming and Scripting

sed command problem

I am cating a file with passwords into another file. I want to replace the the password with **** and it is not working. Here is my command cat testing | sed 's/`echo ${pass}`/*****/'>>out1 ${pass} is the password that I want to replace before it goes into out1 Anyone know what I am... (1 Reply)
Discussion started by: lesstjm
1 Replies

10. Shell Programming and Scripting

Sed command problem

Hi! here is my problem : $ more file yopyop:FIToB8df02f:10200:351:yoyo:/home/yopyop:/usr/bin/ksh $grep yopyop file | sed s/FIToB8df02f/passe/ yopyop:passe:10200:351:yoyo:/home/yopyop:/usr/bin/ksh $more file yopyop:FIToB8df02f:10200:351:yoyo:/home/yopyop:/usr/bin/ksh ...when i... (1 Reply)
Discussion started by: tomapam
1 Replies

Featured Tech Videos