A few comments, although I'm afraid I didn't understand all the details of your code snippet nor interpret any of those correctly. Partly due to the unusual indenting that doesn't lend itself immediately:
- Although braces don't hurt and the parser will understand / eliminate them, too many of them makes the code difficult to read. {if (vn<=10) {vnx=vn } } can be written as if (vn<=10) vnx=vn without sacrifying logics but improving readability.
- for every single input line, you execute those nested loops 20 x 4 x 26, i.e. 2080 times - quite lengthy for more than a few input lines.
- instead of the 16 ifs for the vnx constants assignment, you could use an array.
- you seem to execute 2080 gsubs on $0 with different patterns, each and every one overwriting the former ones - not sure if each of those really makes sense and is necessary.
I could imagine that if you explain your problem verbosely in plain English supporting this with a few meaningful examples, people in here could come up with a taylored, crisp proposal on how to improve and accelerate the solution.
EDIT:
This
is NOT a pattern {action} pair and will change vID with every new input line. Is that intended? Why then the /<sense id=\"n.*" level/?
EDIT 2: After replacing the gsub with a print - just as a proof of concept - , this yields the identical output as your code above:
Hi all,
This problem has cost me half a day, and i still do not know how to do.
Any help will be appreciated. Thanks advance.
I want to use a variable as the first parameters of gsub function of awk.
Example:
{
...
arri]=gsub(i,tolower(i),$1)
(which should be ambraced by //)
...
} (1 Reply)
Hello,
I have a variable that displays the following results from a JVM....
1602100K->1578435K
I would like to collect the value of 1578435 which is the value after a garbage collection. I've tried the following command but it looks like I can't get the > to work. Any suggestions as... (4 Replies)
Hi all
I want to do a simple substitution in awk but I am getting unexpected output. My function accepts a time and then prints out a validation message if the time is valid. However some times may include a : and i want to strip this out if it exists before i get to the validation. I have shown... (4 Replies)
Hi,
Can some one please explain the following line please throw some light on the ones marked in red
awk '{print $9}' ${FTP_LOG} | awk -v start=${START_DATE} 'BEGIN { FS = "." } { old_line1=$0; gsub(/\-/,""); if ( $3 >= start ) print old_line1 }' | awk -v end=${END_DATE} 'BEGIN { FS="." } {... (3 Replies)
I want to replace comma with space and "*646#" with space.
I am using the following code:
nawk -F"|" '{gsub(","," ",$3); gsub(/\*646\#/"," ",$3);print}' OFS="|" file
I am getting following error:
Help is appreciated (5 Replies)
Hey,
I would like to replace a string by a new one. Teh problem is that both strings should be variables to be flexible, because I am having a lot of files (with the same structure, but in different folders)
for i in daysim_*
do
cd $i/5/
folder=`pwd |awk '{print $1}'`
awk '{ if... (3 Replies)
Hi, I want to print the first column with original value and without any double quotes
The output should look like
<original column>|<column without quotes>
$ cat a.txt
"20121023","19301229712","100397"
"20121023","19361629712","100778"
"20121030A","19361630412","100838"... (3 Replies)
Hello,
I'm trying to substitute a string with leading zero for all the records except the trailer record using awk command and with variables. The input file test_med1.txt has data like below
1234ABC...........................9200............LF... (2 Replies)
Hi ALL,
I want to replace string occurrence in my file "Config" using a external file named "Mapping" using awk.
$cat Config
! Configuration file for RAVI
! Configuration file for RACHANA
! Configuration file for BALLU
$cat Mapping
ravi:ram
rachana:shyam
ballu:hameed
The... (5 Replies)