I want to use an associative array from a file to populate a field of another file, by matching several columns in order of priority. If the first column matches, then i dont want to match $2. Similarly I only want to match $3 when $1 and $2 are not in associative array.
For the following piece of code, all the steps are sequentially executed.
Code:
awk 'NR==FNR{array[$1]=$2;next}
$1 in array { $5=array[$1]}
$2 in array { $5=array[$2] }
$3 in array { $5=array[$3] }1' file1 file2
How do I code if condition here if I want to execute a row if only the upper one was not met?
like
Code:
awk 'NR==FNR{array[$1]=$2;next}
$1 in array { $5=array[$1]}
If not $1 in array
$2 in array { $5=array[$2] }
If not $1 and $2 in array
$3 in array { $5=array[$3] }1' file1 file2
I have 13 such conditions, so just wanted to learn how it is coded
Hello,
Can you explain why in the first 2 commands the awk does not print anything? Is it looking of a specific format ?
Thanks.
$ echo 12a3 | awk '($1>=2) {print $1}' # prints nothing
$ echo 123a | awk '($1>=2) {print $1}' # prints nothing
$ echo a123 | awk '($1>=2) {print $1}'
a123... (1 Reply)
I do not know how to do this unless I use a bunch of if statements. I need a script to replace numbers in each record in a file. I am really getting tangled in this web.
If a fieldA (19 positions) is greater than 14 digits, I have to change the data (resulting fieldA is fixed 19 postions).
If... (5 Replies)
how can i specify more than 1 consition in the following AWK statament??
i.e. if $2 is ABCD and $3 is MNOP and $4 is KLPM
similarly for OR
#!/bin/ksh
awk -F '' ' $2 == "ABCD" { print $2, $3;}' file.xml (2 Replies)
Hi Everyone,
# cat 1
1;2;3;4;5;6
1;2;3;4;5;
# awk -F ";" '$5 == "5"' 1
1;2;3;4;5;6
1;2;3;4;5;
but the output is should be just "1;2;3;4;5;6" means 1st condition: $5 is 5; 2nd condition: $6 is not empty, please advice. Thanks (2 Replies)
Hi there,
I wanna define a variable 'tempbase'. Therefore I read a text file "base.out". "base.out" contains a list with four columns. 'tempbase' is the 4th entry in the line, where the first entry is equal to the predefined variable $orb1 and the second entry is equal to $orb2. I wrote the code... (2 Replies)
Hi there, here is my command
ssh host.local "/path/to/my/perscript/hostconfig.pl -s $HOST -d |awk '{if (\$4 > 120)print \"My error message\";exit}{s=0; for (i=1; i<=NF; i++) s++; if(s == 13) print \$3}'"
The problem is if conditional 1 is met (i.e $4 > 120), i don't see "My error message", the... (5 Replies)
Hi All,
I have a file with below contents.
"en2"/10.185.81.0:cluster_interconnect,"en5"/10.185.81.0:cluster_interconnect,"en6"/169.181.146.0:public
I want to take the interface name from the file and convert it as ipaddress using ifconfig command get the output like below
en6 ->... (2 Replies)
I'm having a problem pulling UID's from data. The data outputs a user's UID in one of three ways:
1. Error User user_name already assigned with <UID>
2. Success <UID> reserved for user_name
3. <a load of crap because there was a db failure yet somehow the UID is still in there>
I typically... (5 Replies)
Hello Friends,
I need to find some CDRs in production servers whose 1st field value and 2nd field value = 1 and 11th looks like 45.123... where there are more than 3 digits after comma.so i wrote a one liner, something like below but does not work, however when i used first and second conditions... (8 Replies)
ARRAY_KEYS(3) 1 ARRAY_KEYS(3)array_keys - Return all the keys or a subset of the keys of an arraySYNOPSIS
array array_keys (array $array, [mixed $search_value], [bool $strict = false])
DESCRIPTION array_keys(3) returns the keys, numeric and string, from the $array.
If the optional $search_value is specified, then only the keys for that value are returned. Otherwise, all the keys from the $array are
returned.
PARAMETERS
o $array
- An array containing keys to return.
o $search_value
- If specified, then only keys containing these values are returned.
o $strict
- Determines if strict comparison (===) should be used during the search.
RETURN VALUES
Returns an array of all the keys in $array.
EXAMPLES
Example #1
array_keys(3) example
<?php
$array = array(0 => 100, "color" => "red");
print_r(array_keys($array));
$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));
$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
print_r(array_keys($array));
?>
The above example will output:
Array
(
[0] => 0
[1] => color
)
Array
(
[0] => 0
[1] => 3
[2] => 4
)
Array
(
[0] => color
[1] => size
)
SEE ALSO array_values(3), array_key_exists(3), array_search(3).
PHP Documentation Group ARRAY_KEYS(3)