command paste with variables


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting command paste with variables
# 29  
Old 03-27-2009
to radulov:
your code is notworking with print but with echo it worked but only in command line.
when i put it into script error occures with: unexpected token `('
# 30  
Old 03-27-2009
Quote:
Originally Posted by samos
to radulov:
your code is notworking with print but with echo it worked but only in command line.
when i put it into script error occures with: unexpected token `('
I don't use print in my example, but printf. If you want that command to work in a script, you should use the bash shell:

Code:
bash <your_script>

or point the shebang to the correct interpreter:


Code:
#!/bin/bash


Last edited by radoulov; 03-27-2009 at 07:38 PM..
# 31  
Old 03-27-2009
TIMTOWTDI
Code:
echo "$var1"
v1-1
v1-2
v1-3
v1-4
v1-5
v1-6
v1-7

echo "$var2"
v2-1
v2-2
v2-3
v2-4
v2-5
v2-6
v2-7
v2-8
v2-9

echo "$var1\n$var2" | \
awk '{
   if (NR <= a)
      x[NR] = $0
   else
      print x[++i], $0
} END {
   for (i++; x[i]; i++)
      print x[i]
}' a=$(echo "$var1" | wc -l)

# 32  
Old 03-27-2009
Yep:

Code:
awk 'BEGIN { while ( "unix.com" ) {	
  getline _ < ARGV[1] ||  (_ = "    ") && ++no
  getline   < ARGV[2] || ($0 = "    ") && ++more
  if (no && more) break
  print _, $0 }
}' <(printf '%s' "$v1") <(printf '%s' "$v2")

For example:

Code:
% print $v1
v1-1
v1-2
v1-3
v1-4
v1-5
v1-6
v1-7
% print $v2
v2-1
v2-2
v2-3
v2-4
v2-5
v2-6
v2-7
v2-8
v2-9
% awk 'BEGIN {
  while ( 42 ) {
  getline _ < ARGV[1] ||  (_ = "    ") && ++no
  getline   < ARGV[2] || ($0 = "    ") && ++more
  if (no && more) break
  print _, $0
    }
}' <(printf '%s' "$v1") <(printf '%s' "$v2")
v1-1 v2-1
v1-2 v2-2
v1-3 v2-3
v1-4 v2-4
v1-5 v2-5
v1-6 v2-6
v1-7 v2-7
     v2-8
     v2-9
% awk 'BEGIN {
  while ( -9 ) {
  getline _ < ARGV[1] ||  (_ = "    ") && ++no
  getline   < ARGV[2] || ($0 = "    ") && ++more
  if (no && more) break
  print _, $0
    }
}' <(printf '%s' "$v2") <(printf '%s' "$v1")
v2-1 v1-1
v2-2 v1-2
v2-3 v1-3
v2-4 v1-4
v2-5 v1-5
v2-6 v1-6
v2-7 v1-7
v2-8     
v2-9

# 33  
Old 03-28-2009
Quote:
Originally Posted by samos
yes i do but i for input 2400 lines it worked really really long.....
Ok, try this new version, it must work much faster than the precedent version

Code:
#!/bin/ksh

IFS='
'

FINAL_RESULT=""

VARIABLE1="var1 first line
var1 second line
var1 third line
var1 forth line
var1 fifth line"

VARIABLE2="var2 first line
var2 second line
var2 third line
var2 forth line
var2 fifth line"

CURRENT_LINE_NUMBER=1
for ITERATOR in $VARIABLE1
do
    CURRENT_LINE_IN_VARIABLE2=$(print "$VARIABLE2"\
    |head -n $CURRENT_LINE_NUMBER|tail -n 1)    
    (( CURRENT_LINE_NUMBER = CURRENT_LINE_NUMBER + 1 ))
    FINAL_RESULT="$FINAL_RESULT\n$ITERATOR$CURRENT_LINE_IN_VARIABLE2"
done

(( FINAL_LENGTH = ${#FINAL_RESULT} - 2 ))
FINAL_RESULT=${FINAL_RESULT:2:FINAL_LENGTH}
print "$FINAL_RESULT"

Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Issue with paste command

Hi, I am facing issue with paste command. It is adding spaces or tab in between. I have say 3 files with below data File_1 TH THI THIS I File_2 IS IS S IS RE S File_3 RECORD 1 CORD 2 IS RECORD 3 (3 Replies)
Discussion started by: Simanto
3 Replies

2. Shell Programming and Scripting

Problems with awk (fatal error) and paste (two variables into one column-by-column)

Hello, I have a script extracting columns of useful numbers from a data file, and manipulating the numbers with awk commands. I have problems with my script... 1. There are two lines assigning numbers to $BaseForAveraging. If I use the commented line (the first one) and let the second one... (9 Replies)
Discussion started by: vgbraymond
9 Replies

3. Shell Programming and Scripting

Need help with paste command using variables

How can I accomplish this? I basically want to merge two variables onto the same line. I can do it with two FILES this way: $ cat /tmp/users_in.list | awk -F "," '{print $2}' | cut -c -1 > first.initial $ awk -F "," '{print $1}' /tmp/users_in.list | awk '{print $1}' > last.name $ paste... (5 Replies)
Discussion started by: greenlightening
5 Replies

4. Shell Programming and Scripting

How do I use paste command in while condition??

there are lot of files where in mostly all the file contains 2columnsAl,1 Ail,13 Al,3 Al,1 Al,3 Al,2 Al,3 Al,1 Al,1 Al,1 My requirement is i wanted only the second column of every file as a column ony in the base file... I used paste command... but it is not helping as I'm using while... (7 Replies)
Discussion started by: nikhil jain
7 Replies

5. Shell Programming and Scripting

echo two variables like the paste command is not working

Dear all, I have two files like this file1 A B C D E F file2 1,2 3,4 5,6 I want this output output_expected A B 1,2 C D 3,4 E F 5,6 (3 Replies)
Discussion started by: valente
3 Replies

6. Shell Programming and Scripting

Can't paste in command line.

Hello. I've made a simple script which asks the user to input a hash and then runs a command that replaces the variable $hash with what the user inserted. The ting is that when the programm asks for input I can't paste anything there..! any clues?? :wall: (8 Replies)
Discussion started by: louboulos
8 Replies

7. Shell Programming and Scripting

Bash-how to properly READ and PASTE variables.

Recently i made a script for a project at molecular dynamics but am stuck at the last step.The thing i want to do is to ask the user to input the number of particles, then replace the bolded numbers at lines 9 and 17.. code #!/bin/bash #read number of particles echo "insert the number of... (2 Replies)
Discussion started by: arisinhell
2 Replies

8. UNIX for Dummies Questions & Answers

Need help with using cut and paste command

I have a file which contains 3 fields separated by tabs example andrew kid baker I need to swap kid and baker using cut and paste commands how is this to be done? Thanks (1 Reply)
Discussion started by: drew211
1 Replies

9. UNIX for Dummies Questions & Answers

paste command

input1 15 150 input2 x 10 100 input3 y 20 200 z 34 44 cmd paste -d "\t" input1 input2 input3 >>output output (1 Reply)
Discussion started by: repinementer
1 Replies

10. UNIX for Advanced & Expert Users

paste command

I wonder if any body can help me with a command i am struggling with. I have a file with around 400 lines in, in a program i have it pulls out each line at a time so that data from the line can be cross referenced with another file. If it finds a match it pulls out a ocde from the second file, this... (5 Replies)
Discussion started by: mariner
5 Replies
Login or Register to Ask a Question