11-17-2004
awk script
Current field length : 361 bytes
To the record , i am appending the filename and hard-coding batchid.
The record length has increased from 361 to 400 and since i will continue to get both files ie 361 and 400 length sizes
i want to write a program that can handle both of them.
To the new files i want to cut the string from 362 to 400 and append after the batch id and filename as shown below
Both Input and Output are fixed length files
Output File Layout
------------------
'1 - 361''filename''batch_id'
'1- 361''filename''batch_id''362-400'
Existing code
-------------
for file in /export/home/input/temp/abc[0-9][0-9].dat;do
nawk '/............B[HT]0/{print "HDR/TRLR " ctr++ " : " $0 ;next }
/............H10/{print $0 |" sed s/$/'`basename $file`BATCHID'/ >>/output/outfile.dat " } ' $file
done
New Code
--------
I am not sure if this logic is correct or i might have complicated it.Please suggest
for file in /export/home/input/temp/abc[0-9][0-9].dat;do
nawk '/............B[HT]0/{print "HDR/TRLR " ctr++ " : " $0 ;next }
/............H10/{bl = substr($0,1,361);el = substr($0,362); print bl '`basename $file`BATCHID' el >>/output/outfile.dat " } ' $file
Its treating bl '`basename $file`BATCHID' el >>/output/outfile.dat " as a string rather than as a variable.
Can we run a Unix command in awk program? coz replacing SED here is giving me all kinds of problems.
Please help
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi guys
I have a shell script that executes sql statemets and sends the output to a file.the script takes in parameters executes sql and sends the result to an output file.
#!/bin/sh
echo " $2 $3 $4 $5 $6 $7
isql -w400 -U$2 -S$5 -P$3 << xxx
use $4
go
print"**Changes to the table... (0 Replies)
Discussion started by: magikminox
0 Replies
2. Shell Programming and Scripting
Hello,
I have this awk script that I want to execute by passing parameters through a shell script.
I'm a little confused. This awk script removes duplicates from an input file.
Ok, so I have a .sh file called rem_dups.sh
#!/usr/bin/sh... (4 Replies)
Discussion started by: script_op2a
4 Replies
3. Shell Programming and Scripting
hi everyone
i am trying to do this
bash> cat abc.sh
deepak()
{
echo Deepak
}
deepak
bash>./abc.sh
Deepak
so it is giving me write simply i created a func and it worked
now i modified it like this way
bash> cat abc.sh (2 Replies)
Discussion started by: aishsimplesweet
2 Replies
4. Shell Programming and Scripting
This is the final first release of the dynamic menu generator for pekwm (WM).
#!/bin/bash
function param_val {
awk "/^${1}=/{gsub(/^${1}="'/,""); print; exit}' $2
}
echo "Dynamic {"
for CF in `ls -c1 /usr/share/applications/*.desktop`
do
name=$(param_val Name $CF)
... (3 Replies)
Discussion started by: alexscript
3 Replies
5. Shell Programming and Scripting
consider the script below
sh /opt/hqe/hqapi1-client-5.0.0/bin/hqapi.sh alert list --host=localhost --port=7443 --user=hqadmin --password=hqadmin --secure=true >/tmp/alerts.xml
awk -F'' '{for(i=1;i<=NF;i++){
if($i=="Alert id") {
if(id!="")
if(dt!=""){
cmd="sh someScript.sh... (2 Replies)
Discussion started by: vivek d r
2 Replies
6. Shell Programming and Scripting
I am getting the following error while passing parameter to a shell script called within awk script. Any idea what's causing this issue and how to ix it ? Thanks
sh: -c: line 0: syntax error near unexpected token `newline'
sh: -c: line 0: `./billdatecalc.sh ... (10 Replies)
Discussion started by: Sudhakar333
10 Replies
7. Post Here to Contact Site Administrators and Moderators
Variable I have in my shell script
diff=$1$2.diff
id=$2
new=new_$diff
echo "My id is $1"
echo "I want to sync for user account $id"
##awk command I am using is as below
cat $diff | awk -F'~' ''$2 == "$id"' {print $0}' > $new
I could see value of $id is not passing to the awk... (0 Replies)
Discussion started by: Ashunayak
0 Replies
8. UNIX for Dummies Questions & Answers
I have a shell script (.sh) and I want to pass a parameter value to the awk command but I am getting exception, please assist.
diff=$1$2.diff
id=$2 new=new_$diff
echo "My id is $1"
echo "I want to sync for user account $id"
##awk command I am using is as below
cat $diff |... (1 Reply)
Discussion started by: Sarita Behera
1 Replies
9. Shell Programming and Scripting
Hi
I have a text file (Input.txt) with two column entries separated by tab as given below:
aaa str1
bbb str2
cccccc str3
dddd str4
eee str3
ssss str2
sdf str3
hhh str1
fff str2
ccc str3
.....
.....
..... (1 Reply)
Discussion started by: my_Perl
1 Replies
10. UNIX for Beginners Questions & Answers
I'm trying to create a shell script that takes a awk script that I wrote and a filename as an argument. I was able to get that done but I'm having trouble figuring out how to keep the header of the output at the top but sort the rest of the rows alphabetically. This is what I have now but it is... (1 Reply)
Discussion started by: Eric7giants
1 Replies
LEARN ABOUT DEBIAN
px_put_data_alpha
PX_PUT_DATA_ALPHA(3) Library Functions Manual PX_PUT_DATA_ALPHA(3)
NAME
PX_put_data_alpha -- Put value into an alpha data field
SYNOPSIS
#include <paradox.h>
void PX_put_data_alpha(pxdoc_t *pxdoc, char *data, int len, char *value)
DESCRIPTION
Converts a string into a value for a data field as it stored in the database file. You must set the target encoding before in order to
recode the string. If you do not set the encoding the data will be stored as is. You should use this function instead of accessing the
record data directly.
data points to the start of the data field in the record. It must be calculated by summing up all field length before the field to operate
on and add it to the base pointer of the record.
SEE ALSO
PX_put_data_long(3), PX_put_data_double(3), PX_put_data_short(3), PX_put_data_byte(3), PX_put_data_bytes(3)
AUTHOR
This manual page was written by Uwe Steinmann uwe@steinmann.cx.
PX_PUT_DATA_ALPHA(3)