Lost carriage return when assign


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Lost carriage return when assign
# 1  
Old 09-27-2010
Lost carriage return when assign

Hello .

Now i have a different problem, lost "carriage return" when assigning a variable. The assignation is done in a peculair way but its ok.

The variable "v_tmp" have spaces and carriage return. Its created with
Code:
v_tmp=`echo $i | awk '.........'`

And the assignation where i lost all the format (carriage returns) is here:

Code:
eval "v_tmp_"$v_host="\$v_tmp"

Something?

thx
# 2  
Old 09-27-2010
What do you mean by lost carriage return?
No sample for us to see?
# 3  
Old 09-27-2010
Code:
#!/bin/bash

list="nats01 nats02 nats05 nats09"
v_inicial=`echo $list | awk 'BEGIN { FS=" " }
                         { print $1 
                           print $2 
                           print $3 
                           print $4 }'`
echo $v_inicial

The output here is
Code:
nats01 nats02 nats05 nats09


In other case if i print the output of "echo | awk" directly (without assigning to v_inicial) it prints this:

Code:
nats01
nats02
nats05
nats09

When there is an assignation to a variable before print; i lost my "new line char" aka "\n" aka "carriage return".
How can i assign a variable without lost "return char" ??
# 4  
Old 09-27-2010
Try:
Code:
echo "$v_inicial"

# 5  
Old 09-27-2010
Ok XD it works but i was looking for another kind of response because the problem is to add those "double quotes" in this sentence.

Code:
 eval "v_tmp_"$v_host=\"`echo \$v_data |\
  awk 'BEGIN { FS=";" }
         { print $4 "() {"
           print "    SYSTYPE=" $2
           print "    SYSSERIAL=" $3
           print "    HOSTNAME=" $4
           print "    IPADDRESS=" $5
           print "    IFAZ=" $6
           print "    LINUXIFAZ=" $7
           print "    PORT=" $8
           print "    LANNAME=" $9
           print "    MAC=" $10
           print "    STRING=" $11
           print "    REDHATSERIAL=" $12
           print "    KEYBOARD=" $13
           print "    SUPPLIER=" $14 
           print "}"}'`\"

As you can see i try to put each line separated from each other but i dont know how to "doublequote" this sentence can you help me??
First of all you can see the assignation , there i lost verticality and because of assignation all remain horizontal (in one line), eval command make syntax a little bit more complicated...
# 6  
Old 09-27-2010
Try:
Code:
 eval v_tmp_$v_host=\""`echo \$v_data |\
  awk 'BEGIN { FS=";" }
         { print $4 "() {"
           print "    SYSTYPE=" $2
           print "    SYSSERIAL=" $3
           print "    HOSTNAME=" $4
           print "    IPADDRESS=" $5
           print "    IFAZ=" $6
           print "    LINUXIFAZ=" $7
           print "    PORT=" $8
           print "    LANNAME=" $9
           print "    MAC=" $10
           print "    STRING=" $11
           print "    REDHATSERIAL=" $12
           print "    KEYBOARD=" $13
           print "    SUPPLIER=" $14 
           print "}"}'`"\"

Since you are using bash, you could arrays instead..

Last edited by Scrutinizer; 09-27-2010 at 01:19 PM..
# 7  
Old 09-28-2010
Thx a lot, i think i tested that way but it seemed incorrect. Anyway thx , i will try to change this sentence, it looks Smilie !!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Remove carriage return

I need to remove the carriage return comes inbetween the record. Need to have CR only at the end. I used the below command. tr -d '\n' < filewithcarriagereturns > filewithoutcarriagereturns But its removing all the CR and giving one line output. Input File: 12345 abcdegh... (11 Replies)
Discussion started by: srvn_saru
11 Replies

2. Shell Programming and Scripting

Substitute \n with carriage return

Hello all, I've a flat file in the following format: AB\001\CDED\001\ABC\001\nEG\001\HIJF\001\EFG\001\nHI\003\HIUL\003\HIJ\003 And I want to substitute \n with the carriage return. Any help is appreciated! Regards, - Seth (8 Replies)
Discussion started by: sethmj
8 Replies

3. Shell Programming and Scripting

Carriage return ksh

Hello, How do i usecarriage return in ksh. I want to do an echo "bla bla" and another echo "bla bla" will appear and replace the first echo on screen. I tried: until ; do echo "bla bla \r" done please advice. Thanks. (3 Replies)
Discussion started by: LiorAmitai
3 Replies

4. Shell Programming and Scripting

Search_Replace with a Carriage Return

Hey folks, I've been working on this for some time. Seems simple, but I'm stumped. I need the following data format: New_York:Commercial Geology Geophysics Petrophysics Production_Engineering Reservoir_Engineering Pasadena:Commercial ... (5 Replies)
Discussion started by: leepet01
5 Replies

5. Shell Programming and Scripting

2 carriage return within a record

Hi all, need your help in replacing carriage return in a record. Input: col1|col2|col3|col4|col5|col6|col7|col8|col9|col10 1|aa|bb|cc|dd|eee eee|ff|ggggg|hh hhh|iii 2|zz|yy|xx|ww|vv|uu|tt|ss|rr Output: col1|col2|col3|col4|col5|col6|col7|col8|col9|col10... (12 Replies)
Discussion started by: agathaeleanor
12 Replies

6. UNIX for Dummies Questions & Answers

carriage return and linefeed

hi can anyone please tell me the difference between carriage return, linefeed and newline ? (2 Replies)
Discussion started by: streetfi8er
2 Replies

7. UNIX for Dummies Questions & Answers

To remove carriage return between the line

Hi, I have a situation where I need to remove the carriage return between the lines. For.eg. The input file: 1,ad,"adc sdfd",edf 2,asd,"def fde",asd The output file should be 1,ad,adc sdfd,edf 2,asd,def fde,asd Thanks Shash (5 Replies)
Discussion started by: shash
5 Replies

8. Shell Programming and Scripting

Carriage Return at end of file

Hi, I have a script that outputs a file that contains the dates from the previous month, which is then used by our application to run processes on each date contained in the file. My problem is is that my script created a blank line at the bottom of the file which causes issues for our... (14 Replies)
Discussion started by: bd_joy
14 Replies

9. Shell Programming and Scripting

Dont want carriage return

I have observed with print & echo, they produce carriage return <CR> or newline, after they display string next to them. Is there anyway to avoide these <CR> after the intended string is displayed? (3 Replies)
Discussion started by: videsh77
3 Replies

10. Shell Programming and Scripting

Capture carriage return.

I try to test the carriage return in a variable. $ LENGTH=`expr $VARIABLE : ".*"` will return the length of the variable. But this doesn't work if $VARIABLE has zero length. Any help will be well appreciated. Thanks in advance. Giovanni (4 Replies)
Discussion started by: gio123bg
4 Replies
Login or Register to Ask a Question