04-16-2008
Append value(batch number) to start of records
Hi all,
I am new to unix shell scripting and I am trying to append batch number that comes in Trailer record to the detailed record.
TR|20080312|22881 |000000005|20080319|2202
LN|20080312|077777722220 |0000100000017|ABS
LN|20080312|000799439326 |0000709943937|AA
TR|20080313|22897 |000000008|20080319|2202
LN|20080313|077777722220 |0000100000017|BCG
LN|20080313|603497005222 |0000600070057|ADXC
TR|20080314|22898 |000000011|20080319|2202
LN|20080314|077777722220 |0000100000017|kKAS
LN|20080314|603497005222 |0000600070057|adfras
This is how my data would be. I want to pull out Batch number i.e 4th column in the record that starts with TR and append it to first column of LN. This is one single file.
Filename=$1
grep '^TR' $Filename>A.txt
grep '^LN' $Filename>B.txt
#join -t"|" -1 2 -2 2 -0 1.4 A.txt B.txt >C.txt
cat B.txt | while read line
do
var=`echo $line | cut -d"|" -f2`
cat A.txt | while read value
do
val=`echo $value | cut -d"|" -f2`
val1=`echo $value | cut -d"|" -f4`
if [[ $var == $val ]]
then
line=$val1"|"$line
echo $line>>Apple.txt
fi
done
done
I tried the above code and its very very slow. The volume of records is from 2Mb to 60 MB.
Please adive. I think awk is faster but not sure how to do it in awk
Thanks
Kiran
10 More Discussions You Might Find Interesting
1. AIX
Hi ,
I am trying to execute one script residing on server B from server A and in automated way but with a trigger.
My main quetion are
1) How I will login to the remote server automatically with user name and password. ( rsh or any other way ?)
2) Once logged in I need to execute... (2 Replies)
Discussion started by: agent47
2 Replies
2. Shell Programming and Scripting
Hi All,
Great Forum and Great help. Keep up the good work.
My question is what is the command and it's syntax to append a record to an output file using PERL. Please provide the command syntax.
In regular shell you can use the '>>' to append.
Basically, I am creating a small report... (1 Reply)
Discussion started by: nurani
1 Replies
3. Shell Programming and Scripting
Hi,
I want to append # at the start of line wherever keyword xyz is found through stream editor? Is it possible? (18 Replies)
Discussion started by: db2cap
18 Replies
4. UNIX for Dummies Questions & Answers
hi,
i have some values in excel sheet as in below format:
122
144
222
555
666
etc....
i need to get the output in the below manner..
£122
£144
£222
£555
£666 (1 Reply)
Discussion started by: arunmanas
1 Replies
5. UNIX for Dummies Questions & Answers
I did some searches, but couldn't really find what I'm looking for. I have a file formatted as below:
BOF ABC CO - XYZ COMM DATA OF 07/05/2011
EBA00000001 sdfa rtyus uyml
EBB00000001 54682 984w3
EBA00000002 mkiyuasdf 98234
I want to pull the date from the header record and add it... (4 Replies)
Discussion started by: keeferb
4 Replies
6. Windows & DOS: Issues & Discussions
Morning,
I'm trying to execute a vbs from a .bat file. Can someone tell me what the difference is between these statements:
start c:\lib\runit.vbc
c:\lib\runit.vbs
When I run the batch with the 'start' parameter it doesn't seem to do anything. (1 Reply)
Discussion started by: Grueben
1 Replies
7. Shell Programming and Scripting
I would like to print the number of records of 2 files, and divide the two numbers
awk '{print NR}' file1 > output1
awk '{print NR}' file2 > output2
paste output1 output2 > output
awl '{print $1/$2}' output > output_2
is there a faster way? (8 Replies)
Discussion started by: programmerc
8 Replies
8. Shell Programming and Scripting
Hi Freinds ,
I have 2 files .
File 1
|nag|HYd|1|Che
|esw|Gun|2|hyd
|pra|bhe|3|hyd
|omu|hei|4|bnsj
|uer|oeri|5|uery
File 2
|nag|HYd|1|Che
|esw|Gun|2|hyd
|uer|oi|3|uery
output : (9 Replies)
Discussion started by: i150371485
9 Replies
9. Shell Programming and Scripting
Hi Power User,
I'm trying to compute this kind of text file format:
file1:
jakarta 100 150
jakarta 170 210
beijing 220 250
beijing 260 280
beijing 290 320
new_york 330 350
new_york 370 420
tokyo 430 470
tokyo 480 ... (2 Replies)
Discussion started by: anjas
2 Replies
10. Shell Programming and Scripting
Thanks for RudiC for his extraordinary help on organizing files in a batch of 10 using below code.
FL=($(ls));
for ((i=0;i<=${#FL};i++)); do
for j in ${FL:$i:10};
do
$batch ${j} ${j}.txt
done;
echo "Pausing for next iteration";
echo... (6 Replies)
Discussion started by: busyboy
6 Replies
LEARN ABOUT DEBIAN
x2sys_solve
X2SYS_SOLVE(1gmt) Generic Mapping Tools X2SYS_SOLVE(1gmt)
NAME
x2sys_solve - Determine systematic corrections from crossovers
SYNOPSIS
x2sys_solve -Ccolumn -TTAG -Emode [ COE_list.d ] [ -V ] [ -W ] [ -Z ] [ -bi[s|S|d|D[ncol]|c[var1/...]] ]
DESCRIPTION
x2sys_solve will use the supplied crossover information to solve for systematic corrections that can then be applied per track to improve
data quality. Several systematic corrections can be solved for using a least-squares approach. Note: Only one data column can be processed
at the time.
-T Specify the x2sys TAG which tracks the attributes of this data type.
-C Specify which data column you want to process. Needed for proper formatting of the output correction table and must match the same
option used in x2sys_list when preparing the input data.
-E The correction type you wish to model. Choose among the following functions f(p), where p are the m parameters per track that we
will fit simultaneously using a least squares approach:
c will fit f(p) = a (a constant offset); records must contain cruise ID1, ID2, COE.
d will fit f(p) = a + b * d (linear drift; d is distance; records must contain cruise ID1, ID2, d1, d2, COE.
g will fit f(p) = a + b sin(y)^2 (1980-1930 gravity correction); records must contain cruise ID1, ID2, latitude y, COE.
h will fit f(p) = a + b cos(H) + c cos(2H) + d sin(H) + e sin(2H) (magnetic heading correction); records must contain cruise ID1,
ID2, heading H, COE.
s will fit f(p) = a * z (a unit scale correction); records must contain cruise ID1, ID2, z1, z2.
t will fit f(p) = a + b * (t - t0) (linear drift; t0 is the start time of the track); records must contain cruise ID1, ID2, t1-t0,
t2-t0, COE.
OPTIONS
No space between the option flag and the associated arguments.
COE_list.d
Name of file with the required crossover columns as produced by x2sys_list. NOTE: If -bi is used then the first two columns are
expected to hold the integer track IDs; otherwise we expect those columns to hold the text string names of the two tracks.
-V Selects verbose mode, which will send progress reports to stderr [Default runs "silently"].
-W Means that each input records has an extra column with the composite weight for each crossover record. These are used to obtain a
weighted least squares solution [no weights].
-Z For -Ed and -Et, determine the earliest time or shortest distance for each track, then use these values as the local origin for time
duration or distance calculations. The local origin is then included in the correction table [Default uses 0].
-bi Selects binary input. Append s for single precision [Default is d (double)]. Uppercase S or D will force byte-swapping. Option-
ally, append ncol, the number of columns in your binary input file if it exceeds the columns needed by the program. Or append c if
the input file is netCDF. Optionally, append var1/var2/... to specify the variables to be read.
EXAMPLES
To fit a simple bias offset to faa for all tracks under the MGD77 tag, try
x2sys_list COE_data.txt -V -TMGD77 -Cfaa -Fnc > faa_coe.txt
x2sys_solve faa_coe.txt -V -TMGD77 -Cfaa -Ec > coe_table.txt
To fit a faa linear drift with time instead, try
x2sys_list COE_data.txt -V -TMGD77 -Cfaa -FnTc > faa_coe.txt
x2sys_solve faa_coe.txt -V -TMGD77 -Cfaa -Et > coe_table.txt
To estimate heading corrections based on magnetic crossovers associated with the tag MGD77 from the file COE_data.txt, try
x2sys_list COE_data.txt -V -TMGD77 -Cmag -Fnhc > mag_coe.txt
x2sys_solve mag_coe.txt -V -TMGD77 -Cmag -Eh > coe_table.txt
To estimate unit scale corrections based on bathymetry crossovers, try
x2sys_list COE_data.txt -V -TMGD77 -Cdepth -Fnz > depth_coe.txt
x2sys_solve depth_coe.txt -V -TMGD77 -Cdepth -Es > coe_table.txt
SEE ALSO
x2sys_binlist(1), x2sys_cross(1), x2sys_datalist(1), x2sys_get(1), x2sys_init(1), x2sys_list(1), x2sys_put(1), x2sys_report(1)
GMT 4.5.7 15 Jul 2011 X2SYS_SOLVE(1gmt)