Generate a new field


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Generate a new field
# 1  
Old 06-02-2012
Generate a new field

how can i generate 2 new repetitively fields and put it in another file?
first, i want to generate these fields:
Code:
2 1
3 4
4 2 
2 1
3 4
4 2
2 1
3 4
4 2

second i want to put these tow fields in file2:
Code:
[file2]
saeed
vahid
reza 
golam
maso 
wer 
qwe
rew
ter

the result must be:
Code:
saeed 2 1
vahid 3 4
reza 4 2
golam 2 1
maso 3 4
wer 4 2
.
.
.

i write this code but it doesn't work! nothing to do.
Code:
#!/bin/bash
for i in {1..3}
do
awk '{$2=" 2 1 " $2}' > file2
awk '{$2=" 3 4 " $2}' >> file2
awk '{$2=" 4 2 " $2}' >> file2
done

# 2  
Old 06-02-2012
Try:
Code:
for i in 1 2 3
do
  for j in "2 1" "3 4" "4 2"
  do 
    read name
    echo "$name $j"
  done
done < infile


Last edited by Scrutinizer; 06-02-2012 at 03:25 PM..
This User Gave Thanks to Scrutinizer For This Post:
# 3  
Old 06-02-2012
Hi saeed.soltani,

One way using perl:
Code:
$ cat file2                                                                                                                                                                                                                                  
saeed                                                                                                                                                                                                                                        
vahid                                                                                                                                                                                                                                        
reza                                                                                                                                                                                                                                         
golam                                                                                                                                                                                                                                        
maso                                                                                                                                                                                                                                         
wer                                                                                                                                                                                                                                          
qwe                                                                                                                                                                                                                                          
rew                                                                                                                                                                                                                                          
ter                                                                                                                                                                                                                                          
$ cat myscript.pl                                                                                                                                                                                                                            
use warnings;                                                                                                                                                                                                                                
use strict;                                                                                                                                                                                                                                  

my @numbers = qw/
        2 1
        3 4
        4 2 
        2 1
        3 4
        4 2
        2 1
        3 4
        4 2
/;

while ( <> ) {
        chomp;
        printf qq[%s %s\n], $_, join q[ ], ( @numbers >= 2 ? splice @numbers, 0, 2 : q[] );
        s/\s+\Z//;
}
$ perl myscript.pl file2
saeed 2 1
vahid 3 4
reza  4 2
golam 2 1
maso  3 4
wer  4 2
qwe 2 1
rew 3 4
ter 4 2

# 4  
Old 06-02-2012
I am not sure why you want to generate the files using random numbers... but if you have that file ready. you can simply do
Code:
paste file2 file1 > file3


Last edited by Franklin52; 06-04-2012 at 03:38 AM.. Reason: Please use code tags
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Problem with getting awk to multiply a field by a value set based on condition of another field

Hi, So awk is driving me crazy on this one. I have searched everywhere and read man, docs and every related post Google can find and still no luck. The actual files I need to run this on are sensitive in nature, but it is the same thing as if I needed to calculate weighted grades for multiple... (15 Replies)
Discussion started by: cotilloe
15 Replies

2. Shell Programming and Scripting

awk to update field using matching value in file1 and substring in field in file2

In the awk below I am trying to set/update the value of $14 in file2 in bold, using the matching NM_ in $12 or $9 in file2 with the NM_ in $2 of file1. The lengths of $9 and $12 can be variable but what is consistent is the start pattern will always be NM_ and the end pattern is always ;... (2 Replies)
Discussion started by: cmccabe
2 Replies

3. Shell Programming and Scripting

awk to adjust coordinates in field based on sequential numbers in another field

I am trying to output a tab-delimited result that uses the data from a tab-delimited file to combine and subtract specific lines. If $4 matches in each line then the first matching sequential $6 value is added to $2, unless the value is 1, then the original $2 is used (like in the case of line... (3 Replies)
Discussion started by: cmccabe
3 Replies

4. Shell Programming and Scripting

Display combination of 4 field uniqe record and along with concatenate 5th and 6th field.

Table ACN|NAME|CITY|CTY|NO1|NO2 115|AKKK|ASH|IND|10|15 115|AKKK|ASH|IND|20|20 115|AKKK|ASH|IND|30|35 115|AKKK|ASH|IND|30|35 112|ABC|FL|USA|15|15 112|ABC|FL|USA|25|20 112|ABC|FL|USA|25|45 i have written shell script using cut command and awk programming getting error correct it and add... (5 Replies)
Discussion started by: udhal
5 Replies

5. Shell Programming and Scripting

Command/script to match a field and print the next field of each line in a file.

Hello, I have a text file in the below format: Source Destination State Lag Status CQA02W2K12pl:D:\CAQA ... (10 Replies)
Discussion started by: pocodot
10 Replies

6. Linux

How do I format a Date field of a .CSV file with multiple commas in a string field?

I have a .CSV file (file.csv) whose data are all enclosed in double quotes. Sample format of the file is as below: column1,column2,column3,column4,column5,column6, column7, Column8, Column9, Column10 "12","B000QRIGJ4","4432","string with quotes, and with a comma, and colon: in... (3 Replies)
Discussion started by: dhruuv369
3 Replies

7. Shell Programming and Scripting

Plz Help. Compare 2 files field by field and get the output in another file.

Hi Freinds, I have 2 files . one is source.txt and second one is target.txt. I want to keep source.txt as baseline and compare target.txt. please find the data in 2 files and Expected output. Source.txt 1|HYD|NAG|TRA|34.5|1234 2|CHE|ESW|DES|36.5|134 3|BAN|MEH|TRA|33.5|234... (5 Replies)
Discussion started by: i150371485
5 Replies

8. Shell Programming and Scripting

AWK: Pattern match between 2 files, then compare a field in file1 as > or < field in file2

First, thanks for the help in previous posts... couldn't have gotten where I am now without it! So here is what I have, I use AWK to match $1 and $2 as 1 string in file1 to $1 and $2 as 1 string in file2. Now I'm wondering if I can extend this AWK command to incorporate the following: If $1... (4 Replies)
Discussion started by: right_coaster
4 Replies

9. Shell Programming and Scripting

awk, comma as field separator and text inside double quotes as a field.

Hi, all I need to get fields in a line that are separated by commas, some of the fields are enclosed with double quotes, and they are supposed to be treated as a single field even if there are commas inside the quotes. sample input: for this line, 5 fields are supposed to be extracted, they... (8 Replies)
Discussion started by: kevintse
8 Replies

10. Shell Programming and Scripting

Sort alpha on 1st field, numerical on 2nd field (sci notation)

I want to sort alphabetically on the first field and sort in descending numerical order on the 2nd field. With a normal "sort -r -n" it does this: abc ||| 5e-05 ||| bla abc ||| 3 ||| ble def ||| 1 ||| abc def ||| 0.2 ||| def As you can see it ignores the fact that 5e-05 is actually 0.00005... (1 Reply)
Discussion started by: FrancoisCN
1 Replies
Login or Register to Ask a Question