05-15-2013
It's related because it mentions a mechanism with which you can pass information to AWK without piping (which for whatever reason you wish to avoid).
In the BEGIN clause, use the split function to place the different components of var into an array. You can then reference whichever member of the array you require.
Regards,
Alister
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I seem to have gotten myself in over my head on this one. I need help combining lines together.
I have a text file containing 24,000 lines (exactly why I need awk) due to bad formatting it has separated the lines (ideally it should be 12,000 lines total).
Example of file:
... (2 Replies)
Discussion started by: blueheed
2 Replies
2. Shell Programming and Scripting
I am using:
ps -A -o command,%cpu
to get process and cpu usage figures. I want to use awk to split up the columns it returns. If I use:
awk '{print "Process: "$1"\nCPU Usage: "$NF"\n"}'
the $NF will get me the value in the last column, but if there is more than one word in the... (2 Replies)
Discussion started by: json4639
2 Replies
3. UNIX for Dummies Questions & Answers
It would be convenient to be able to combine awk tests. For example, suppose that I do this query:
awk '$1 != "Bob" || $1 != "Linda" {print $2}' datafileIs there a reasonable way to combine the conditions into a single statement? For example, in egrep, I can do:
egrep -v "Bob|Linda"... (4 Replies)
Discussion started by: treesloth
4 Replies
4. Shell Programming and Scripting
I have a file like this consisting of blocks separated by > of two number X and T
>
10 0
13 5.92346
16 10.3106
19 13.9672
22 16.9838
25 19.4407
28 21.4705
31 23.1547
34 24.6813
37 26.0695
40 27.3611
43 28.631
46 29.8366
49 30.9858
52 32.0934
55 33.1458 (6 Replies)
Discussion started by: kristinu
6 Replies
5. Shell Programming and Scripting
I have a pretty simple script below:
#!/bin/sh
for i in *.cfg
do
temp=`awk '/^InputDirectory=/' ${i}`
input_dir=`echo ${temp} | awk '{ print substr( $0, 16) }'`
echo ${input_dir}
done
As you can see its opening each cfg file and searching for the line that has "InputDirectory="... (3 Replies)
Discussion started by: ssbsts
3 Replies
6. Shell Programming and Scripting
Hi experts,
I have a requirement, In which I need to display the first and last line of a zip file where the line starts with "L". I've writen the code like below using sed and awk.
gunzip -c 20110203.1104.gz | awk '$1 ~ "^L" {print substr($0,178,15)}' | sed -n '1p;$p'
Is it possible to do it... (8 Replies)
Discussion started by: senthil.ak
8 Replies
7. Shell Programming and Scripting
Hello UNIX Community,
I have file that contains the following data:
testAwk2.csv
rabbit penguin goat
giraffe emu ostrich
hyena elephant panda
dog cat pig
lizard snake antelope
platypus tiger cheetah
lion rhino spider
I then find the character length of the... (1 Reply)
Discussion started by: vnayak
1 Replies
8. Shell Programming and Scripting
I can achieve two tasks with 2 different awk commands:
1) awk -F";;WORD" '{print $2}' file | sed '/^$/d' #to find surface_word
2) awk -F"bw:|gloss:" '// {print $2}' file | sed '/\//!d; s:/*+*: + :g; s:^+::; s: *+ *$::;' #to find segmentation of surface_word
Number 1) finds surface_word... (7 Replies)
Discussion started by: Viernes
7 Replies
9. Shell Programming and Scripting
i have a datafile that has several lines that look like this:
2,dataflow,Sun Mar 17 16:50:01 2013,1363539001,2990,excelsheet,660,mortar,660,4
using the following command:
awk -F, '{$3=strftime("%a %b %d %T %Y,%s",$3)}1' OFS=, $DATAFILE | egrep -v "\-OLDISSUES," | ${AWK} "/${MONTH} ${DAY}... (7 Replies)
Discussion started by: SkySmart
7 Replies
10. Shell Programming and Scripting
the following code works perfectly for me:
# AWK 1
gawk -F, '/,'${ThisMonthDOW}' '${ThisMonthMON}' :: '${ThisMonthYEA}',/ {
if (NF == 10)
... (6 Replies)
Discussion started by: SkySmart
6 Replies
LEARN ABOUT PHP
array_filter
ARRAY_FILTER(3) 1 ARRAY_FILTER(3)
array_filter - Filters elements of an array using a callback function
SYNOPSIS
array array_filter (array $array, [callable $callback], [int $flag])
DESCRIPTION
Iterates over each value in the $array passing them to the $callback function. If the $callback function returns true, the current value
from $array is returned into the result array. Array keys are preserved.
PARAMETERS
o $array
- The array to iterate over
o $callback
- The callback function to use If no $callback is supplied, all entries of $array equal to FALSE (see converting to boolean) will
be removed.
o $flag
- Flag determining what arguments are sent to $callback:
o ARRAY_FILTER_USE_KEY - pass key as the only argument to $callback instead of the value
o ARRAY_FILTER_USE_BOTH - pass both value and key as arguments to $callback instead of the value
RETURN VALUES
Returns the filtered array.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.6.0 | |
| | |
| | Added optional $flag parameter and constants |
| | ARRAY_FILTER_USE_KEY and ARRAY_FILTER_USE_BOTH |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
array_filter(3) example
<?php
function odd($var)
{
// returns whether the input integer is odd
return($var & 1);
}
function even($var)
{
// returns whether the input integer is even
return(!($var & 1));
}
$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);
echo "Odd :
";
print_r(array_filter($array1, "odd"));
echo "Even:
";
print_r(array_filter($array2, "even"));
?>
The above example will output:
Odd :
Array
(
[a] => 1
[c] => 3
[e] => 5
)
Even:
Array
(
[0] => 6
[2] => 8
[4] => 10
[6] => 12
)
Example #2
array_filter(3) without $callback
<?php
$entry = array(
0 => 'foo',
1 => false,
2 => -1,
3 => null,
4 => ''
);
print_r(array_filter($entry));
?>
The above example will output:
Array
(
[0] => foo
[2] => -1
)
Example #3
array_filter(3) with $flag
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
var_dump(array_filter($arr, function($k) {
return $k == 'b';
}, ARRAY_FILTER_USE_KEY));
var_dump(array_filter($arr, function($v, $k) {
return $k == 'b' || $v == 4;
}, ARRAY_FILTER_USE_BOTH));
?>
The above example will output:
array(1) {
["b"]=>
int(2)
}
array(2) {
["b"]=>
int(2)
["d"]=>
int(4)
}
NOTES
Caution
If the array is changed from the callback function (e.g. element added, deleted or unset) the behavior of this function is unde-
fined.
SEE ALSO
array_map(3), array_reduce(3), array_walk(3).
PHP Documentation Group ARRAY_FILTER(3)