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
SPLIT(3) 1 SPLIT(3)
split - Split string into array by regular expression
SYNOPSIS
array split (string $pattern, string $string, [int $limit = -1])
DESCRIPTION
Splits a $string into array by regular expression.
Warning
This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
PARAMETERS
o $pattern
- Case sensitive regular expression. If you want to split on any of the characters which are considered special by regular
expressions, you'll need to escape them first. If you think split(3) (or any other regex function, for that matter) is doing some-
thing weird, please read the file regex.7, included in the regex/ subdirectory of the PHP distribution. It's in manpage format, so
you'll want to do something along the lines of man /usr/local/src/regex/regex.7 in order to read it.
o $string
- The input string.
o $limit
- If $limit is set, the returned array will contain a maximum of $limit elements with the last element containing the whole rest
of $string.
RETURN VALUES
Returns an array of strings, each of which is a substring of $string formed by splitting it on boundaries formed by the case-sensitive
regular expression $pattern.
If there are n occurrences of $pattern, the returned array will contain n+1 items. For example, if there is no occurrence of $pattern, an
array with only one element will be returned. Of course, this is also true if $string is empty. If an error occurs, split(3) returns FALSE.
EXAMPLES
Example #1
split(3) example
To split off the first four fields from a line from /etc/passwd:
<?php
list($user, $pass, $uid, $gid, $extra) =
split(":", $passwd_line, 5);
?>
Example #2
split(3) example
To parse a date which may be delimited with slashes, dots, or hyphens:
<?php
// Delimiters may be slash, dot, or hyphen
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />
";
?>
NOTES
Note
As of PHP 5.3.0, the regex extension is deprecated in favor of the PCRE extension. Calling this function will issue an E_DEPRECATED
notice. See the list of differences for help on converting to PCRE.
Tip
split(3) is deprecated as of PHP 5.3.0. preg_split(3) is the suggested alternative to this function. If you don't require the power
of regular expressions, it is faster to use explode(3), which doesn't incur the overhead of the regular expression engine.
Tip
For users looking for a way to emulate Perl's @chars = split('', $str) behaviour, please see the examples for preg_split(3) or
str_split(3).
SEE ALSO
preg_split(3), spliti(3), str_split(3), explode(3), implode(3), chunk_split(3), wordwrap(3).
PHP Documentation Group SPLIT(3)