Need assistance with appending strings using sed and variables


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Need assistance with appending strings using sed and variables
# 8  
Old 09-11-2008
bash shell script
# 9  
Old 09-11-2008
If awk is allowed:

Code:
awk -v s=$string '!/T00:00:00$/{$(NF+1)=s}1' file > newfile

Regards
# 10  
Old 09-12-2008
Thanks Franklin

Nearly there, but $string is being written one-space into the beginning of the line, not at the end.

Trying to work it out but haven't cracked it yet!
# 11  
Old 09-12-2008
It works fine for me, can you post some lines of your file including a line without the specific string at the end?
# 12  
Old 09-12-2008
Nearly there:

awk -F"|" -v s=$string '!/T00:00:00/{$NF=s}1' file > newfile

(Forgot to mention that each line in the file has | as the field delimiter).

This line is writing $string to the end of the line, but replacing all my | delimiters with spaces! Smilie

Any ideas why it is doing this?

much appreciated

Last edited by mandriver; 09-12-2008 at 06:06 AM..
# 13  
Old 09-12-2008
Try this:

Code:
awk -v s=$string 'BEGIN{FS=OFS="|"}!/T00:00:00$/{$(NF+1)=s}1' file > newfile

With $(NF+1)=s I add a new field at the end of the line but with $NF=s you're replacing the last field with your string.

Regards
# 14  
Old 09-12-2008
That's done it!

Code:
 
awk -v s=$string 'BEGIN{FS=OFS="|"}!/T00:00:00/{$NF=s}1'

Perfect, thank you Franklin! Smilie

(It seems to work fine replacing the last field, I believe the field is there but just empty).
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Assistance to connect to servers via ssh once and collect various commands into separate variables

Hello, We use as bash script to connect to servers listed in an .csv file to issue commands against these servers and retrieve data to be saved in a .csv file. The data we want to collect is saved in variables. We issue an ssh command for each variable we want to capture. I'm thinking this is... (9 Replies)
Discussion started by: greavette
9 Replies

2. Shell Programming and Scripting

sed assistance

Hello everyone. I am trying to replace sprintf(buffer, "{\"id\":1,\"method\":\"mining.update_block\",\"params\":}\n", coinid, blockhash); with sprintf(buffer, "{\"id\":1,\"method\":\"mining.update_block\",\"params\":}\n", coinid, blockhash); this is the code I was trying but is... (9 Replies)
Discussion started by: crombiecrunch
9 Replies

3. UNIX for Advanced & Expert Users

Need assistance with sed

Hi All, I need your assistance, I would like to replace all lines beginning with the word "begin" with the below text: Device | IPMB0-A | IPMB0-B Board Address |Sent SentErr %Errr |Sent SentErr ... (10 Replies)
Discussion started by: Dendany83
10 Replies

4. Shell Programming and Scripting

Need assistance with sed

Hi All, I need your assistance, I would like to replace all lines beginning with the word "begin" with the below text: Device | IPMB0-A | IPMB0-B Board Address |Sent SentErr %Errr |Sent SentErr ... (9 Replies)
Discussion started by: Dendany83
9 Replies

5. Shell Programming and Scripting

replace two character strings by two variables with sed command

Hello, I want to writte a script that replace two character strings by two variables with the command sed butmy solution doesn't work. I'm written this: sed "s/TTFactivevent/$TTFav/g && s/switchSLL/$SLL/g" templatefile. I want to replace TTFactivevent by the variable $TTFav, that is a... (4 Replies)
Discussion started by: POPO10
4 Replies

6. Shell Programming and Scripting

appending two strings

Hi, I have a small doubt. Here is the code snippet for which the output that I'm getting are a bit surprising. testing.sh #!/bin/sh arg_1=$1 echo "arg passed by user is:${arg_1}" mapping=`grep ${arg_1}= testing.conf | awk -F"=" '{print $2}'` echo "mapping is $mapping"... (4 Replies)
Discussion started by: badrimohanty
4 Replies

7. Shell Programming and Scripting

Appending variables

Hi, I'm having a problem with something I can't really figure out by myself. I've tried to do it with a for loop, but I'm pretty sure it won't work, if I'm not mistaken. Basically, what I'm trying to do is test some variables and if any of them is not empty, add the values of these variables... (5 Replies)
Discussion started by: mutex1
5 Replies

8. Shell Programming and Scripting

appending strings

Hi , while trying to append two strings, it is not properly coming. my code will be like this str1=_TrackingEAR srt2=1.0.0-20080523.155438-12 i am trying to build str3=$str1$str2.tgz but it is appending the last value ot the begingin of the string , but i expect to the end of the... (1 Reply)
Discussion started by: scorpio
1 Replies

9. Shell Programming and Scripting

appending strings to variable

is it possible? as i keep reading a file, i want one particular variable to keep storing the line that i've read so far (1 Reply)
Discussion started by: finalight
1 Replies

10. UNIX for Dummies Questions & Answers

appending strings in the files

I have some files created by a process in UNIX. I wanted to do some file processing: 1. I want to append a string "EOF" as the first word on the last line of all the files except the last file. 2.Similarly, I want to append "BOF" string as the first word to all the files except the first... (2 Replies)
Discussion started by: vijaylak
2 Replies
Login or Register to Ask a Question