ksh - adding a dynamic value to the front of a line


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting ksh - adding a dynamic value to the front of a line
# 1  
Old 01-07-2009
ksh - adding a dynamic value to the front of a line

Hi Forum,

Im trying to write some code to read a file, take a certain dynamic value and write it back to the file at the front of every line.

For example, file.txt is:

SIMPLE=HELLO
CONFIDENTIAL=false
SENDER=false
REQUIRED=true
FEEDBACK=false
UPDATE=false
REQUIRED=false
MAPPING=true
SIMPLE=HELLO2
CONFIDENTIAL=false
SENDER=false
REQUIRED=true
FEEDBACK=false
UPDATE=false
REQUIRED=false

I want it to read the value of "SIMPLE", and return it back to the file at the front like so:

HELLO,SIMPLE=HELLO
HELLO,CONFIDENTIAL=false
HELLO,SENDER=false
HELLO,REQUIRED=true
HELLO,FEEDBACK=false
HELLO,UPDATE=false
HELLO,REQUIRED=false
HELLO,MAPPING=true
HELLO2,SIMPLE=HELLO2
HELLO2,CONFIDENTIAL=false
HELLO2,SENDER=false
HELLO2,REQUIRED=true
HELLO2,FEEDBACK=false
HELLO2,UPDATE=false
HELLO2,REQUIRED=false

Any help/ideas please?

thanks in advance

Ocelot
# 2  
Old 01-07-2009
Code:
awk -F= '$1 ~ /SIMPLE/ {a=$2; print a","$0; next} {print a","$0}' infile
HELLO,SIMPLE=HELLO
HELLO,CONFIDENTIAL=false
HELLO,SENDER=false
HELLO,REQUIRED=true
HELLO,FEEDBACK=false
HELLO,UPDATE=false
HELLO,REQUIRED=false
HELLO,MAPPING=true
HELLO2,SIMPLE=HELLO2
HELLO2,CONFIDENTIAL=false
HELLO2,SENDER=false
HELLO2,REQUIRED=true
HELLO2,FEEDBACK=false
HELLO2,UPDATE=false
HELLO2,REQUIRED=false


Last edited by zaxxon; 01-07-2009 at 07:45 AM.. Reason: Corrected it
# 3  
Old 01-07-2009
Hi zaxxon,

thanks for the reply. The solution kinda works...but only for the first 9 lines. It then appends the rest of the file with "false" or "true", e.g.

HELLO,SIMPLE=HELLO
HELLO,CONFIDENTIAL=false
HELLO,SENDER=false
HELLO,REQUIRED=true
HELLO,FEEDBACK=false
HELLO,UPDATE=false
HELLO,REQUIRED=false
HELLO,MAPPING=true
false,TEST1=true
false,TEST2=false,
false,TEST3=false,
false,TEST4=true

etc... any ideas?

thanks!
# 4  
Old 01-07-2009
Hm... works with me. I edited the post inbetween since I forgot the "next". Here is the output of my box:

Code:
root@isau02:/data/tmp/testfeld> cat infile
SIMPLE=HELLO
CONFIDENTIAL=false
SENDER=false
REQUIRED=true
FEEDBACK=false
UPDATE=false
REQUIRED=false
MAPPING=true
SIMPLE=HELLO2
CONFIDENTIAL=false
SENDER=false
REQUIRED=true
FEEDBACK=false
UPDATE=false
REQUIRED=false
root@isau02:/data/tmp/testfeld> awk -F= '$1 ~ /SIMPLE/ {a=$2; print a","$0; next} {print a","$0}' infile
HELLO,SIMPLE=HELLO
HELLO,CONFIDENTIAL=false
HELLO,SENDER=false
HELLO,REQUIRED=true
HELLO,FEEDBACK=false
HELLO,UPDATE=false
HELLO,REQUIRED=false
HELLO,MAPPING=true
HELLO2,SIMPLE=HELLO2
HELLO2,CONFIDENTIAL=false
HELLO2,SENDER=false
HELLO2,REQUIRED=true
HELLO2,FEEDBACK=false
HELLO2,UPDATE=false
HELLO2,REQUIRED=false

# 5  
Old 01-07-2009
I think I know why...its because I have another variable called SIMPLE_SET_ID.

Question - how can the awk statement be changed to search on just "SIMPLE" only? I tried putting % around SIMPLE but this didnt work...

thanks

Ocelot
# 6  
Old 01-07-2009
In this case you have to tell awk to use explicit field content like

Code:
awk -F= '$1 ~ /^SIMPLE$/ {a=$2; print a","$0; next} {print a","$0}' infile

or

Code:
awk -F= '$1 == "SIMPLE" {a=$2; print a","$0; next} {print a","$0}' infile

# 7  
Old 01-07-2009
thats worked perfectly...!

thanks a lot for your help!

ocelot
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Adding a backslash in front of square brackets with sed

I'm trying to convert this line: to \ with sed. This is what I have so far: sed -e 's/\]*\)\]/\\\\\/' but this still gives me . Any suggestions? (15 Replies)
Discussion started by: lehaste
15 Replies

2. Shell Programming and Scripting

Script for adding a word in front of all line in a file

Hi I've one file full of paths of certain files and I want to add some extra file words in front of all the paths. for eg: i have a file name test.txt which show some details only.. 024_hd/044/0344eng.txt 035_bv/222/editor.jpg here I want to add /usr/people/indiana/ infront of all the... (4 Replies)
Discussion started by: ratheeshp
4 Replies

3. Shell Programming and Scripting

ksh: what does x in front of something mean?

hi, i have stuff like if ]; then what does the x mean? also, what does -z variable mean in an if statement> thanks (8 Replies)
Discussion started by: JamesByars
8 Replies

4. Shell Programming and Scripting

How join line and add | in front

Hello, Did any one know how to use perl join line and add | in front Input--> timestamp=2009-11-10-04.55.20.829347; a; b; c; ddaa; timestamp=2009-11-10-04.55.20.829347; aa; bb; cc; Output--> ... (2 Replies)
Discussion started by: happyday
2 Replies

5. Shell Programming and Scripting

Want to add a word in front a of each line of a file

Hi, Can anybody help me how to add a word in front of a line in a file.Actually it is bit tricky to add a word. i will give a sample for this: Input : 1110001 ABC DEF 1110001 EFG HIJ 1110001 KLM NOP 1110002 QRS RST 1110002 UVW XYZ Output: %HD% 1110001 ABC DEF %DT% 1110001 EFG HIJ... (4 Replies)
Discussion started by: apjneeraj
4 Replies

6. Shell Programming and Scripting

adding a character in front of a line

Hi everyon, I am trying to search for a pattern in a file and add "//" to the begining of the file. lets say i want to comment out a line from my codes. the line that should be commented out contains the word "reset". i need to search for the word "reset" and comment out that specific line. is... (5 Replies)
Discussion started by: ROOZ
5 Replies

7. Shell Programming and Scripting

Adding a word in front of a word of each line.

Adding a word in front of a word of each line.In that line only one word will be there. pl help:( (4 Replies)
Discussion started by: Ramesh Vellanki
4 Replies

8. Shell Programming and Scripting

sh, ksh: command to remove front spaces from a string?

dear pro-coders, is there any command out there that takes out the front spaces from a string? sample strings: 4 members 5 members 3 members but it has to be like so: 4 members 5 members 3 members (3 Replies)
Discussion started by: pseudocoder
3 Replies

9. Shell Programming and Scripting

Dynamic SQl in KSH

My requirement is to create a KSH to generate the SQL select statement in oracle with all the columns and optional where condition if given the table name as input to the program Have any of you worked with a similar requirement? Can you give me some inputs? Regards, Kousikan (2 Replies)
Discussion started by: kousikan
2 Replies

10. Shell Programming and Scripting

creating a dynamic array in ksh

Hi, Is it possible to create a dynamic array in shell script. I am trying to get the list of logfiles that created that day and put it in a dynamic array. I am not sure about it. help me New to scripting Gundu (3 Replies)
Discussion started by: gundu
3 Replies
Login or Register to Ask a Question