Where should BEGIN be placed if processing multiple files?
See this section of my larger program:
Code:
awk -v wrk1=$workfile1ns -v wrk2x=$workfile2x -v wrk4=$workfile4 -v wrk5=$workfile5 -v planf=$workfile3 '
# put all plans in an array
FILENAME==planf { FS=","
ua1_pl[$1]=$2
print "### 40a ## Set plan "$1" to "$2
}
# put all jobs in an array
FILENAME==wrk2x { FS=","
j_num[$1]=$2
j_yr[$1]=$3
j_mon[$1]=$4
j_month[$1]=$5
print "### 40b ## Set job "$1"="$2" to month/year "$4"/"$3
}
# put all the data together
FILENAME==wrk1 { FS=","
# check on plan data
if ( ua1_pl[$1] >"")
{ w_plan=ua1_pl[$1]
} else
{ w_plan="***UA1 CODE UNDEFINED ["$1"]"
# print "### 40c ## Undefined UA1 code "$1","$2
}
# check on job number data
# print $1,$2,j_num[$2],j_yr[$2]
if ( j_num[$2] > "")
{ w_jnum=j_num[$2] ; w_jyr=j_yr[$2]
w_jmon=j_mon[$2]
}
# write out all the variables
print $1","$2","w_plan","w_jnum","w_jyr","w_jmon > wrk4
print ","w_jnum","w_jyr","w_jmon","w_plan > wrk5
}' "$workfile3" "$workfile2x" "$workfile1ns"
I have to read through over a million records, and match up against a couple of smaller files. Thus, my thought to load the two smaller files into arrays and then read through the entire third file. I do array lookups on each record of the third file; thus creating one file containing all the important details.
In the example above, since I forced the FS to be "," I suppose I could simply change the awk -v ... to awk -F"," -v ... and be all set. But, what if the files had different delimiters? Where would I put the BEGIN before the FS="," commands?
Hi Friends,
Can any of you explain me about the below line of code?
mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`
Im not able to understand, what exactly it is doing :confused:
Any help would be useful for me.
Lokesha (4 Replies)
hi,
i have a file having datas like that
./a.txt
12344
12345
12346
12347
.....
.....
...
i want to save this datas to another file like that
./b.txt
12344 12345 12346 12347 ... ... ...
i think awk can make this but how? :) waiting for ur help. (3 Replies)
Hi,
I have line in input file as below:
3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL
My expected output for line in the file must be :
"1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL"
Can someone... (7 Replies)
logs:
"/home/abc/public_html/index.php"
"/home/abc/public_html/index.php"
"/home/xyz/public_html/index.php"
"/home/xyz/public_html/index.php"
"/home/xyz/public_html/index.php"
how to use "cut" or "awk" or "sed" to get the following result:
abc
abc
xyz
xyz
xyz (8 Replies)
Discussion started by: timmywong
8 Replies
7. Post Here to Contact Site Administrators and Moderators
Majority of the questions are pertaining file/string parsing w.r.t
sed
or
awk
It would be nice to have these two as their own sub category under shell-programming-scripting which can avoid lot of duplicate posts. (1 Reply)
Hi Experts,
I have a string with colon delimited, want 2nd colon to be changed to a pipe.
data:
101:8:43:4:72:14:41:69:85:3:137:4:3:0:4:0:9:3:0:3:12:3:
I am trying with sed, but can change only 1 occurance:
echo "101:8:43:4:72:14:41:69:85:3:137:4:3:0:4:0:9:3:0:3:12:3:" | sed 's/:/|/2'... (5 Replies)
How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address
and column 3 contains “cc” e-mail address to include with same email.
Sample input file, email.txt
Below is an sample code where... (2 Replies)
Hello.
System : opensuse leap 42.3
I have a bash script that build a text file.
I would like the last command doing :
print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt
where :
print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies
LEARN ABOUT DEBIAN
pserver
PSERVER(1) pserver PSERVER(1)NAME
pserver - NetWare print server
SYNOPSIS
pserver [ -S server ] [ -h ] [ -U user name ] [ -P password | -n ] [ -C ] [ -q queue name ] [ -c command ] [ -j job type ] [ -t timeout ] [
-d ]
DESCRIPTION
pserver is a program that connects to print queues on NetWare servers and feeds incoming print jobs to the Linux printing system.
OPTIONS -h
-h is used to print out a short help text.
-S server
server is the name of the server you want to use.
-U user
user is the print server name at the server.
-P password
password is the password to use for the print server at the server. If neither -n nor -P are given, and the user has no open connection
to the server, pserver prompts for a password.
-n
-n should be given if the print server does not require a password.
-C
By default, passwords are converted to uppercase before they are sent to the server, because most servers require this. You can turn off
this conversion by -C.
-q queue name
queue name is the name of the print queue you want to service.
-c command
When a job is received from the print queue, pserver forks off a new process, and feeds the job file to stdin. command is the printing
command that is executed for each job. The default command is 'lpr'.
You can insert several flags into the command, preceded by %. These are replaced with values retrieved from the queue structure for the
print job.
%u: This field will be replaced by the name of the user who posted this print job.
%d: This field will be replaced by the job description field of this print job.
-j job type
Each job in a NetWare print queue has a job type. For print jobs, this corresponds to the number of the form the job should be printed
on. You can tell pserver that it should only receive jobs for one specific form from the queue. The default is -1, which means that
everything is received.
-t timeout
Pserver is not informed by NetWare servers when new jobs arrive. So a polling scheme has to be used. When there are no jobs to service,
timeout tells pserver how long to wait between two requests. The default is 30 seconds. When a job is finished, pserver asks the NetWare
server immediately for a new job, and does not wait timeout seconds.
-d
Normally, pserver daemonizes itself. -d tells it not to do so. This is useful if you want to see the diagnostic messages that are
printed when a error occurs.
SEE ALSO nwclient(5), slist(1), pqlist(1), ncpmount(8), ncpumount(8)CREDITS
pserver was written by Volker Lendecke (lendecke@math.uni-goettingen.de)
pserver 10/22/1996 PSERVER(1)