Yes, above. I've been reading the GNU Awk User's Guide (The GNU Awk User’s Guide), so I haven't been doing as much coding.
I'm very happy that you got this to work for you.
But, please stop trying to hide the logic in your code! Make it obvious. Change:
to:
Quote:
Though atm, I do need help with using an array/variable in SUB. Rudi had pointed out in post #4 https://www.unix.com/303013671-post4.html a working solution which involved this, but I just could not break it down and make it execute properly:
I am trying to use an array of strings/variables (which is working fine) to insert into sub and be replaced (which is not working):
It isn't immediately obvious what isn't working in this example and you don't give us any indication of what you think it is doing wrong.
The call to split() could be rewritten more simply as:
and always give you identical results. Given that vkeySepA has been defined to be an empty string in your earlier code and assuming that it still is when you ran this, one might note that the call above would return 1 (not the 2 that you seem to be assuming). But since unassigned array elements (like any other unassigned variables) will have a 0 value if used as a number or an empty string value if used as a string, that won't make any difference in this case. Your calls to sub() with those array values should change the first occurrence of the string <orth> in $0 to an empty string.
Note that the <space> after <orth> will be treated as a field separator, not as part of the string to be replaced. Note also that with many of your search patterns (many of which contain <space>s) and replacement patterns (many of which contain <space>s), using code like the above will give you more than 2 fields in the created array unless you use a different array element separator and add an ERE to your split() call specifying the character(s) in your separator as the element separator.
This User Gave Thanks to Don Cragun For This Post:
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)